La clausula select top se utiliza para selecionar el numero de registros a devolver de una tabla
Esta clausula select top es muy util cuando tenemos miles de registros
en MySQL se usa LIMIT en vez de select top
En ORACLE se usa FETCH FIRST n ROWS ONLYy ROWNUM
veamos las seguientes sintaxis
Sintaxis en SQL
SELECT TOP number|percent column_name(s) FROM table_name WHERE condition;
...
Sintaxis en MySQL
SELECT column_name(s) FROM table_name WHERE condition LIMIT number;
Sintaxis en Oracle 12
SELECT column_name(s) FROM table_name ORDER BY column_name(s) FETCH FIRST number ROWS ONLY;
Sintaxis en Oracle mas antiguo
SELECT column_name(s) FROM table_name WHERE ROWNUM <= number;
Sintaxis en Oracle anterior (con ORDER BY):
SELECT * FROM (SELECT column_name(s) FROM table_name ORDER BY column_name(s)) WHERE ROWNUM <= number;
Ejemplos
La siguiente instrucción SQL selecciona los tres primeros registros de la tabla "Clientes" (para SQL Server/MS Access):
La siguiente instrucción SQL muestra el ejemplo equivalente para MySQL:
SELECT * FROM Customers LIMIT 3;
La siguiente instrucción SQL muestra el ejemplo equivalente para Oráculo:
SELECT * FROM Customers FETCH FIRST 3 ROWS ONLY;
Ejemplos de selecion por porcentages
SQL seleciona 50% de los registros de la tabla clientes
ORACULO seleciona 50% de los registros de la tabla clientes
Ejemplos, Agregacion de clausula WHERE
SQL seleciona los 3 primeros clientes onde su país es alemania
SELECT TOP 3 * FROM clientes WHERE Country='Alemania';
MySQL seleciona los 3 primeros clientes onde su país es alemania
SELECT * FROM Clientes WHERE Country='Alemania' LIMIT 3;
ORACULO seleciona los 3 primeros clientes onde su país es alemania
SELECT * FROM Clientes WHERE Country='Alemania' FETCH FIRST 3 ROWS ONLY;
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias