Límite en Oracle

Límite en Oracle

En la mayoría de los casos, las bases de datos comprenden miles a millones de registros en una tabla. Puede ser desalentador revisar manualmente todos los registros al realizar consultas.

Por lo tanto, deberá usar varias cláusulas en SQL, como declaraciones condicionales, funciones de coincidencia de patrones, operadores, etc. Incluso entonces, puede terminar con numerosos registros para clasificar.

Podemos usar la funcionalidad límite en SQL y otros dialectos similares a SQL para limitar aún más el número de filas devueltas de una consulta dada.

Esta publicación discutirá un formato corto para limitar el número de registros devueltos de una consulta de Oracle dada. Recuerde que no hay una cláusula de límite en la base de datos Oracle, como encontrará en otras bases de datos como MySQL, PostgreSQL, etc.

Oracle Rownum

Para que implementemos una cláusula similar a un límite, vamos a usar la función ROWNUM en SQL. Esta función devuelve el número de filas en un resultado determinado.

Exploremos cómo podemos usar esta función.

Uso de ejemplo

Supongamos que tenemos una tabla con información de los empleados, como se muestra en la imagen a continuación:

Problema

Supongamos que deseamos buscar las primeras cinco columnas de la tabla de arriba e ignorar el resto?

Solución

Podemos usar una subconsulta como se muestra en el fragmento a continuación:

seleccionar *
Desde (seleccione Empleado_ID, First_Name, Last_Name, Salario de los empleados Orden por Employee_ID ASC)
Donde Rownum <= 5;

En la consulta anterior, definimos una subconsulta usando la cláusula de. Luego, la subconsulta obtiene las columnas de destino y clasifica las filas en orden ascendente basado en el empleado_id.

Finalmente, definimos una declaración condicional que asegura que el número de filas devuelto sea menor o igual a 5. Esto obliga al número de registros de la consulta para detenerse en las cinco.

Una salida de ejemplo es como se muestra:

Tenga en cuenta que el uso de la subconsulta asegura que las filas se clasifiquen en orden ascendente o descendente. Entonces, por ejemplo, si desea obtener cinco filas aleatorias, ejecute:

Seleccione Employee_ID, First_Name, Last_Name, Salario
de empleados
Donde Rownum <= 5;

Producción:

De la salida anterior, es posible que no note la diferencia. Sin embargo, ejecutar la consulta sin un pedido por cláusula en datos no organizados dará como resultado un conjunto aleatorio de valores.

Conclusión

Este breve pero valioso tutorial exploró la implementación de la cláusula de límite en la base de datos Oracle utilizando el valor de Rownum.