Tutorial SQL

INICIO SQL Introducción a SQL Sintaxis SQL Seleccionar SQL SQL Seleccionar Distinto SQL donde SQL y, o no Orden SQL por Insertar SQL en Valores nulos de SQL Actualización SQL Eliminar SQL SQL Seleccionar parte superior SQL mínimo y máximo Recuento de SQL, Promedio, Suma SQL como Comodines de SQL SQL en SQL entre Alias ​​SQL Uniones SQL Combinación interna de SQL Unión izquierda de SQL Unión derecha de SQL Unión completa de SQL Unión automática de SQL Unión SQL Grupo SQL por SQL teniendo SQL existe SQL Cualquiera, Todo SQL Seleccionar en Insertar SQL en Seleccionar Caso SQL Funciones nulas de SQL Procedimientos almacenados de SQL Comentarios SQL Operadores SQL

Base de datos SQL

SQL Crear base de datos Base de datos de caída de SQL Base de datos de copia de seguridad de SQL Crear tabla SQL Tabla desplegable de SQL Tabla de modificación de SQL Restricciones SQL SQL no nulo SQL único Clave principal de SQL Clave foránea de SQL Comprobación SQL Valor predeterminado de SQL Índice SQL Incremento automático de SQL Fechas SQL Vistas SQL Inyección SQL Alojamiento SQL Tipos de datos SQL

Referencias SQL

Palabras clave de SQL Funciones MySQL Funciones del servidor SQL Funciones de MS Access Referencia rápida de SQL

Ejemplos SQL

Ejemplos SQL Cuestionario de SQL Ejercicios SQL Certificado SQL

Cláusula SQL TOP, LIMIT, FETCH FIRST o ROWNUM


La cláusula SQL SELECT TOP

La SELECT TOPcláusula se utiliza para especificar el número de registros a devolver.

La SELECT TOPclá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 TOPcláusula. MySQL admite la LIMITclá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:

SELECT TOP number|percent column_name(s)
FROM table_name
WHERE condition;

Sintaxis MySQL:

SELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number;

Sintaxis de Oracle 12:

SELECT column_name(s)
FROM table_name
ORDER BY column_name(s)
FETCH FIRST number ROWS ONLY;

Sintaxis de Oracle más antigua:

SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number;

Sintaxis de Oracle anterior (con ORDER BY):

SELECT *
FROM (SELECT column_name(s) FROM table_name ORDER BY column_name(s))
WHERE ROWNUM <= number;

Base de datos de demostración

A continuación se muestra una selección de la tabla "Clientes" en la base de datos de ejemplo de Northwind:

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4

Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden


SQL TOP, LIMIT y FETCH FIRST Ejemplos

La siguiente instrucción SQL selecciona los tres primeros registros de la tabla "Clientes" (para SQL Server/MS Access):

Ejemplo

SELECT TOP 3 * FROM Customers;

La siguiente instrucción SQL muestra el ejemplo equivalente para MySQL:

Ejemplo

SELECT * FROM Customers
LIMIT 3;

La siguiente instrucción SQL muestra el ejemplo equivalente para Oracle:

Ejemplo

SELECT * FROM Customers
FETCH FIRST 3 ROWS ONLY;

Ejemplo de PORCENTAJE SUPERIOR de SQL

La siguiente instrucción SQL selecciona el primer 50 % de los registros de la tabla "Clientes" (para SQL Server/MS Access):

Ejemplo

SELECT TOP 50 PERCENT * FROM Customers;

La siguiente instrucción SQL muestra el ejemplo equivalente para Oracle:

Ejemplo

SELECT * FROM Customers
FETCH FIRST 50 PERCENT ROWS ONLY;

AGREGAR 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):

Ejemplo

SELECT TOP 3 * FROM Customers
WHERE Country='Germany';

La siguiente instrucción SQL muestra el ejemplo equivalente para MySQL:

Ejemplo

SELECT * FROM Customers
WHERE Country='Germany'
LIMIT 3;

La siguiente instrucción SQL muestra el ejemplo equivalente para Oracle:

Ejemplo

SELECT * FROM Customers
WHERE Country='Germany'
FETCH FIRST 3 ROWS ONLY;