LIMIT y OFFSET en SQL

LIMIT y OFFSET en SQL

Hasta este punto, en el curso, has utilizado en muchas ocasiones la cláusula LIMIT para limitar la cantidad de registros que se devuelven en una consulta SQL. En este capítulo, verás como funciona LIMIT junto con OFFSET.

¿Qué son LIMIT y OFFSET?

Como bien ya sabes, la cláusula LIMIT se usa para restringir el total de registros o filas devueltos en una consulta SQL. Sin embargo, si utilizas también OFFSET, puedes especificar a partir de que registro establecer ese límite. Por ejemplo, si pones LIMIT 10, te saldrán los 10 primeros registros del resultado de la consulta, pero si pones también OFFSET 5, te aparecerán los 10 registros del 6 al 15 omitiendo los 5 primeros.


Sintaxis de LIMIT y OFFSET

La sintaxis de LIMIT y OFFSET es muy sencilla, tan solo hay que utilizar LIMIT para limitar y OFFSET para poner el inicio:

SELECT columnas
FROM tabla
LIMIT cantidad_filas OFFSET inicio;

Ejemplos prácticos de uso de LIMIT y OFFSET de SQL

Empecemos usando solo LIMIT con la tabla 'country' de la base de datos 'world'.

SELECT *
FROM country
LIMIT 5;
limit sql

Como era de esperar, nos aparecen solo los 5 primeros registros. Pero supongamos que queremos desde el 21 hasta donde llegue el LIMIT. Pues lo haremos así:

SELECT *
FROM country
LIMIT 5 OFFSET 20;
limit offset sql

Error de sintaxis

El orden de estas dos cláusulas de SQL es importante, ya que si los pones al revés, recibirás un error de sintaxis:

SELECT *
FROM country
OFFSET 20 LIMIT 5;

Así que ya lo sabes, recuerda este orden, porque si no, te indicará un error en el valor numérico del OFFSET, pero no te dirá que la cláusula está mal colocada. Eso, si no lo sabes, te puede hacer perder un rato a lo tonto.

Dejamos este cortito capítulo sobre LIMIT y OFFSET de SQL aquí, para continuar viendo nuevos temas. Si te quedan dudas, ya sabes, déjame un comentario. Siempre que me sea posible, te responderé.

No te pierdas nada del curso Máster en SQL.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

curso sql Entrada anterior DISTINCT de SQL para resultados distintos
curso sql Entrada siguiente INNER JOIN SQL con ejemplos