SQL básico. Cómo limitar el número de filas a regresar en una consulta.

Hasta el momento hemos visto como listar todas las filas de una tabla así como sólo mostrar las que cumplan cierta condición o filtro. En esta sección vamos a ver cómo limitar el número de filas que regresa una consulta mediante la subcláusula o comando LIMIT de SELECT, estén o no filtradas las filas. Cabe aclarar que no todos los motores de base de datos usan el comando LIMIT para limitar el número de filas. SQL Server por ejemplo, utiliza la subcláusual o comanto TOP, Oracle utiliza OFFSET FETCH o la función ROWNUM, etc., SQLite utiliza LIMIT.

Vayamos directamente al ejemplo. Ejecuta primero la siguiente sentencia y observa el resultado:

Consulta sin límite de filas.

Observa que la consulta recuperó o listó 184 filas. Ahora le agregamos el comando o subcláusula LIMIT a la instrucción SELECT. Observa que LIMIT va al final de la sentencia. Ejecuta la siguiente sentencia:

Consulta limitada a las primeras 5 filas.

Observa que sólo recupero las 5 primeras filas de la consulta anterior. Esto es debido a que agregando el comando SELECT la siguiente subcláusula al final:

… LIMIT número-filas;

Le estamos indicando que de los resultados de la consulta, solo nos muestre o recupere los número-filas (número de filas) indicadas. En nuestra consulta le especificamos que 5.

Veamos otra variante de la subcláusula LIMIT:

... LIMIT desplazamiento,número-filas;

Si el comando LIMIT es seguido por dos números enteros separados por comas, el primero (desplazamiento) le indica cuántas filas de las primeras que regresaría la consulta va a saltar o a ignorar y el segundo (número-filas) el número de filas que va mostrar. Se verá mejor con el siguiente ejemplo. Ejecuta y trata de entender que está pasando.

Consulta con desplazamiento y limite de filas.

Si observas los resultados en la primera imagen de esta sección, la primera consulta que hicimos sin limitar el número de filas, verás que ignoró las primeras 5 filas y partir de la fila 6 inclusive, nos mostró los 4 registros siguientes solamente.

Generalmente, LIMIT se va a usar con filas ordenadas, es decir, con instrucciones SELECT que incluyan el ORDER BY. Como ejercicio, practica haciendo tus propias consultas limitando los resultados con desplazamiento y sin desplazamiento.

En la siguiente sección veremos algunos operadores de la cláusula WHERE que ya hemos usado.

¡Hasta la próxima!

Deja un comentario