Praticamente todas as implementações de banco de dados SQL têm uma maneira de especificar o início linha a ser retornada, bem como o número de filas.
Por exemplo, tanto no mysql quanto no postgres, parece:
SELECT ...
ORDER BY something -- not required, but highly recommended
LIMIT 100 -- only get 100 rows
OFFSET 500; -- start at row 500
Observe que normalmente você incluiria um
ORDER BY
para garantir que seus pedaços sejam consistentes MS SQL Server (sendo um banco de dados "fingente") não suporta OFFSET diretamente, mas pode ser codificado usando
ROW_NUMBER()
- veja esta postagem SO
para mais detalhes.