¿Ya dominas lo básico? Un curso estructurado de SQL es la vía rápida para dar el salto.
Ver cursos de SQL en UdemyEnlace de afiliado. No te cuesta nada extra.
- 01Preparar el entorno (lo que necesitas)
- 02Fundamentos de la sentencia SELECT
- 03Filtrar filas con WHERE
- 04Ordenar resultados con ORDER BY
- 05Combinar tablas con JOIN
- 06Agregar datos con GROUP BY
- 07Búsqueda aproximada con LIKE
- 08Modificar datos con INSERT, UPDATE y DELETE
- 09Introducción a las subconsultas
- 10Crear una VIEW
- 11Clasificar filas con funciones de ventana
- 12Entender las transacciones
- 13Escribir comentarios en SQL
- 14Operadores lógicos: AND, OR y NOT
- 15Trabajar con valores NULL
- 16INNER JOIN frente a LEFT JOIN
- 17Filtrar agregados con HAVING
- 18Eliminar duplicados con DISTINCT
- 19Combinar resultados con UNION
- 20Valores condicionales con CASE
- 21Comprobar existencia con EXISTS
- 22Cambiar la estructura de una tabla con ALTER TABLE
- 23Auto-uniones (self join)
- 24Acelerar búsquedas con INDEX
- 25GROUP BY con varias columnas
- 26Paginación con LIMIT y OFFSET
- 27Coincidencia de patrones con GLOB
- 28Cálculos con fechas usando date()
- 29Unir tres tablas
- 30Comparar con varios valores usando IN
- 31Tablas derivadas: subconsultas en el FROM
- 32Fundamentos de TRIGGER
- 33Consultas legibles con WITH (CTE)
- 34UPSERT: insertar o actualizar en una sola sentencia
- 35Combinar MIN, MAX y AVG
- 36Restringir la entrada con restricciones CHECK
- 37Numeración automática con AUTOINCREMENT
- 38Inspeccionar el plan con EXPLAIN QUERY PLAN
- 39ORDER BY con varias columnas
- 40Agregación condicional con CASE
- 41Eliminar objetos con DROP TABLE y DROP VIEW
- 42Combinar varias CTE
- 43Búsqueda por rango de fechas con BETWEEN
- 44Encontrar lo que falta con NOT EXISTS
- 45Sustituir NULL con COALESCE
- 46Funciones de texto: UPPER, LENGTH y SUBSTR
- 47Convertir tipos con CAST
- 48Unir valores agrupados con GROUP_CONCAT
- 49Garantizar la integridad con FOREIGN KEY
- 50[Aplicado] Construye un mini sistema de biblioteca
Paginación con LIMIT y OFFSET
En esta lección traerás los resultados de página en página, como hace cualquier listado de una aplicación web.
LIMIT n devuelve como mucho n filas y OFFSET m se salta las primeras m. Para la página 1 con 10 elementos por página se usa LIMIT 10 OFFSET 0; para la página 2, LIMIT 10 OFFSET 10.
El código de ejemplo ordena por nota descendente y coge las filas tercera y cuarta. Cambia el OFFSET a 0 y verás las dos primeras.
La regla crítica es que LIMIT sin ORDER BY no tiene sentido: sin un orden definido, «las 10 primeras» pueden ser filas distintas en cada ejecución, con lo que al pasar de página se repiten unos registros y se pierden otros.
Un apunte de rendimiento que se nota en sistemas grandes: un OFFSET muy alto obliga a la base de datos a leer y descartar todas las filas anteriores, así que la página 1000 es lentísima. Las aplicaciones con mucho volumen usan paginación por cursor, avanzando con un WHERE id > último_visto.
💡 El motor de SQL puede tardar unos segundos en cargarse la primera vez que ejecutas código.
