Definición


Esta sentencia se usa para limitar a un número especifico de registros que se devuelven. Se suele usar en conjunción con la sentencia SELECT

Sintaxis


Hay que notar que cada motor de base de datos implementa esta cláusula de forma diferente

SQL Server / MS Access

SELECT TOP numero/porcentaje nombre_columna1, nombre_columna2, ...
FROM nombre_tabla
WHERE condicion;

Donde el porcentaje se escribe como numero PERCENT

MySQL

SELECT nombre_columna1, nombre_columna2, ...
FROM nombre_tabla
WHERE condicion
LIMIT numero;
Oracle 12

SELECT nombre_columna1, nombre_columna2, ...
FROM nombre_tabla
ORDER BY nombre_columna3, nombre_columna4, ...
FETCH FIRST numero ROWS ONLY;

El ORDER BY nos va a permitir que se ordene el resultado antes de conseguir los primeros registros, esto no se limita a este motor de base de datos

Versiones viejas de Oracle

SELECT nombre_columna1, nombre_columan2, ... 
FROM nombre_tabla
WHERE ROWNUM <= numero;
Versiones viejas de Oracle (con ORDER BY)

Usando ORDER BY

SELECT * 
FROM (SELECT nombre_columna1, nombre_columan2, ... 
	  FROM nombre_tabla
	  ORDER BY nombre_columan3, nombre_columna4, ...)
WHERE ROWNUM <= numero;