Det finns sätt att göra detta i valfria delar av standarden, men många databaser stödjer sitt eget sätt att göra det.
En riktigt bra sida som pratar om detta och andra saker är http://troels. arvin.dk/db/rdbms/#select-limit .
I grund och botten stöder PostgreSQL och MySQL den icke-standardiserade:
SELECT...
LIMIT y OFFSET x
Oracle, DB2 och MSSQL stöder standardfönsterfunktionerna:
SELECT * FROM (
SELECT
ROW_NUMBER() OVER (ORDER BY key ASC) AS rownumber,
columns
FROM tablename
) AS foo
WHERE rownumber <= n
(som jag nyss kopierade från sidan som länkas till ovan eftersom jag aldrig använder dessa DB)
Uppdatering: Från och med PostgreSQL 8.4 stöds standardfönsterfunktionerna, så förvänta dig att det andra exemplet också fungerar för PostgreSQL.
Uppdatering: SQLite har lagt till stöd för fönsterfunktioner i version 3.25.0 den 2018-09-15 så båda formerna fungerar även i SQLite.