La cláusula SQL SELECT TOP
los SELECT TOP
La cláusula se utiliza para especificar el número de registros que se devolverán.
los SELECT TOP
La cláusula es útil en tablas grandes con miles de registros. Devolver una gran cantidad de registros puede afectar el rendimiento.
Nota: No todos los sistemas de bases de datos admiten la
cláusula. MySQL es compatible con
SELECT TOPLIMIT
cláusula para seleccionar un número limitado de registros, mientras que Oracle usa
y
FETCH FIRST n ROWS ONLYROWNUM
.
Sintaxis de SQL Server / MS Access:
SELECCIONAR ARRIBA número|por ciento column_name (s)
DE nombre de la tabla
DÓNDE condición;
Sintaxis de MySQL:
SELECCIONE column_name (s)
DE nombre de la tabla
DÓNDE condición
LÍMITE número;
Sintaxis de Oracle 12:
SELECCIONE column_name (s)
DE nombre de la tabla
PEDIR POR
column_name (s)
BUSCAR PRIMERO número SOLO FILAS;
Sintaxis de Oracle más antigua:
SELECCIONE column_name (s)
DE nombre de la tabla
DONDE ROWNUM número;
Sintaxis de Oracle más antigua (con ORDER BY):
SELECCIONE *
DESDE (SELECCIONAR column_name (s) DE nombre de la tabla
PEDIR POR column_name (s))
DONDE ROWNUM número;
Base de datos de demostración
A continuación se muestra una selección de la tabla «Clientes» en la base de datos de muestra de Northwind:
Identificación del cliente | Nombre del cliente | Nombre de contacto | Dirección | Ciudad | Código postal | País |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | María Anders | Obere Str. 57 | Berlina | 12209 | Alemania |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México DF | 05021 | México |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México DF | 05023 | México |
4 | Alrededor del Cuerno | Thomas Hardy | 120 Hannover Sq. | Londres | WA1 1DP | Reino Unido |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | Vuela-Salto-958 22 | Suecia |
Ejemplos de SQL TOP, LIMIT y FETCH FIRST
La siguiente instrucción SQL selecciona los primeros tres registros de la tabla «Clientes» (para SQL Server / MS Access):
La siguiente declaración SQL muestra el ejemplo equivalente para MySQL:
La siguiente declaración SQL muestra el ejemplo equivalente para Oracle:
Ejemplo
SELECCIONAR * DE Clientes
BUSQUE LAS PRIMERAS 3 FILAS SOLAMENTE;
Ejemplo de SQL TOP PERCENT
La siguiente instrucción SQL selecciona el primer 50% de los registros de la tabla «Clientes» (para SQL Server / MS Access):
La siguiente declaración SQL muestra el ejemplo equivalente para Oracle:
Ejemplo
SELECCIONAR * DE Clientes
BUSQUE LAS PRIMERAS FILAS DEL 50 POR CIENTO SOLAMENTE;
AÑADIR UNA CLÁUSULA DONDE
La siguiente instrucción SQL selecciona los primeros tres registros de la tabla «Clientes», donde el país es «Alemania» (para SQL Server / MS Access):
La siguiente declaración SQL muestra el ejemplo equivalente para MySQL:
La siguiente declaración SQL muestra el ejemplo equivalente para Oracle:
Ejemplo
SELECCIONAR * DE Clientes
DONDE País = ‘Alemania’
BUSQUE LAS PRIMERAS 3 FILAS SOLAMENTE;