Hay formas de hacer esto en partes opcionales del estándar, pero muchas bases de datos admiten su propia forma de hacerlo.
Un sitio realmente bueno que habla de esto y otras cosas es http://troels. arvin.dk/db/rdbms/#select-limit .
Básicamente, PostgreSQL y MySQL admiten lo no estándar:
SELECT...
LIMIT y OFFSET x
Oracle, DB2 y MSSQL admiten las funciones de ventanas estándar:
SELECT * FROM (
SELECT
ROW_NUMBER() OVER (ORDER BY key ASC) AS rownumber,
columns
FROM tablename
) AS foo
WHERE rownumber <= n
(que acabo de copiar del sitio vinculado anteriormente ya que nunca uso esos DB)
Actualizar: A partir de PostgreSQL 8.4, las funciones de ventana estándar son compatibles, así que espere que el segundo ejemplo también funcione para PostgreSQL.
Actualizar: SQLite agregó compatibilidad con funciones de ventana en la versión 3.25.0 el 2018-09-15, por lo que ambas formas también funcionan en SQLite.