SQL Limit: Para Número máximo de resultados

La cláusula SQL LIMIT se usa en consulta SQL para indicar la cantidad máxima de resultados que desea obtener. Esta cláusula a menudo se asocia con un OFFSET, es decir, realizar un cambio en el conjunto de resultados. Estas 2 cláusulas permiten, por ejemplo, realizar sistemas de paginación (ejemplo: recuperar los 10 artículos de la página 4).

sql limit

Sintaxis de la clausula sql limit sencilla

La sintaxis básica de la cláusula SQL limit es la siguiente:

SELECT *
FROM tabla
LIMIT 10

El resultado de esta consulta son los primeros 10 resultados de una tabla. Por supuesto, si la tabla contiene menos de 10 resultados, la consulta devolverá todas las filas.

Es bueno saberlo: una buena práctica cuando se usa en SQL LIMIT es usar también la cláusula SQL ORDER BY para garantizar que pase lo que pase, siempre se presenten los datos correctos. De hecho, si no se especifica el sistema de clasificación, en principio es desconocido y los resultados pueden ser impredecibles.

La sintaxis de la instrucción SELECT LIMIT en SQL es:

SELECT Columna1, Columna2 .....
FROM tabla
WHERE condición
ORDER BY Columna [ ASC | DESC ]
LIMIT número_filas  
OFFSET valor_desplazamiento;

Parámetros o Argumentos

Columna
son los nombres columnas que desea.
Tabla
Es la tabla que utiliza la consulta para recuperar los datos. debe de estar acompañada de la cláusula FROM.
WHERE condiciones
Opcional. aquí se agrega una o varias condiciones para poder seleccionar los datos.
ORDER BY columuna
Opcional. Se usa en SELECT LIMIT para ordenar los resultados y apuntar a los registros que desea devolver. ASC es orden ascendente y DESC es orden descendente.
LÍMITE número_filas
Limita el número de resultado. Por ejemplo, LIMIT 10 devolvería las primeras 10 filas que coinciden con los criterios SELECT. en esta parte es donde toma importancia el orden, así que asegúrese de usar una cláusula ORDER BY de manera adecuada.
OFFSET valor_desplazamiento
Opcional. La primera fila devuelta por la consulta sql LIMIT estará determinada por valor_desplazamiento.

Ejemplo sql limit

SELECT ID,Nombre,Apellido,
Correoelectrónico,AddressLine,Nota
FROM Empleado
WHERE Nota is null
ORDER BY ID
LIMIT 3

Ejemplo: uso de la clausula limit con OFFSET

La cláusula OFFSET se usa para omitir el número de filas antes de retornar los resultados. Lo podemos usar con la cláusula LIMIT. Después de la palabra clave OFFSET, especifique las filas a saltar, para que la consulta omita la cantidad de filas especificadas antes de los resultados. Si especifica como cero, la consulta se comportará como si no se hubiera especificado ninguna cláusula OFFSET.

La palabra clave offset le permite compensar el primer registro devuelto por la cláusula LIMIT. Veamos cómo usar una instrucción SELECT LIMIT con una cláusula OFFSET en SQL server.

Por ejemplo:

SELECT ID,Nombre,Apellido,
Correoelectrónico,AddressLine,Nota
FROM Empleado
WHERE Nota is null
ORDER BY ID
LIMIT 5  OFFSET 2;

Este ejemplo OFFSET de 2, lo que significa que se omitirán el primer y segundo registro en el conjunto de resultados… y luego se devolverán las siguientes 5 filas.

Rendimiento SQL limit

Este último capítulo está destinado a un público informado. No es necesario entenderlo completamente, solo haber entendido las líneas generales.

Algunos desarrolladores creen erróneamente que usar LIMIT reduce la tardanza en la ejecución de una consulta. Sin embargo, el tiempo de ejecución es sustancialmente el mismo porque la consulta recuperará todas las filas (por lo tanto, el mismo tiempo de ejecución); entonces, solo se devolverán los resultados definidos por LIMIT y OFFSET. En el mejor de los casos, el uso de LIMIT reduce el tiempo de visualización porque hay menos filas para mostrar.

La eficiencia de una consulta en Sql LIMIT también puede depender de la presencia de índices en la tabla. Si se utiliza una cláusula WHERE para filtrar las filas antes de aplicar la cláusula LIMIT, puede ser beneficioso tener un índice en la columna que se utiliza para filtrar.

En algunos casos, la cláusula LIMIT puede ser lenta si se utiliza en una consulta compleja que involucra múltiples tablas o subconsultas. En este caso, puede ser necesario optimizar la consulta para mejorar el rendimiento.

Deja un comentario