Saltar al contenido

SQL SELECT TOP, LIMIT, BUSCAR PRIMERAS FILAS SOLAMENTE, ROWNUM

septiembre 23, 2021

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
SELECT TOP
cláusula. MySQL es compatible con LIMIT cláusula para seleccionar un número limitado de registros, mientras que Oracle usa
FETCH FIRST n ROWS ONLY
y ROWNUM.

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;

close