Oracle/PLSQL: recuperar los N registros principales de la consulta

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

Oracle/PLSQL: recuperar los N registros principales de la consulta

Pregunta: ¿Cómo puedo recuperar los primeros N registros de la consulta?

Por ejemplo, ¿qué pasa si quiero recuperar los primeros 3 registros de los resultados de la consulta? ¿Cómo puedo hacer esto?

Respuesta: para recuperar los primeros N registros de una consulta, puede usar la siguiente sintaxis:

SELECT *
FROM (your ordered query) alias_name
WHERE rownum <= Rows_to_return
ORDER BY rownum;

Por ejemplo, si quisiera recuperar los 3 primeros registros de la tabla de proveedores, ordenados por nombre de proveedor en orden ascendente, ejecutaría la siguiente consulta:

SELECT *
FROM (select * from suppliers ORDER BY supplier_name) suppliers2
WHERE rownum <= 3
ORDER BY rownum;

Si quisiera recuperar los primeros 3 registros de la tabla de proveedores, ordenados por nombre de proveedor en orden descendente, ejecutaría la siguiente consulta:

SELECT *
FROM (select * from suppliers ORDER BY supplier_name DESC) suppliers2
WHERE rownum <= 3
ORDER BY rownum;

Si quisiera recuperar los primeros 5 registros de la tabla de proveedores, ordenados por ID de proveedor en orden ascendente, ejecutaría la siguiente consulta:

SELECT *
FROM (select * from suppliers ORDER BY supplier_id) suppliers2
WHERE rownum <= 5
ORDER BY rownum;

Si quisiera recuperar los primeros 5 registros de la tabla de proveedores, ordenados por ID de proveedor en orden descendente, ejecutaría la siguiente consulta:

SELECT *
FROM (select * from suppliers ORDER BY supplier_id DESC) suppliers2
WHERE rownum <= 5
ORDER BY rownum;
(Visited 14 times, 1 visits today)