LIMIT y OFFSET
Devuelve solo algunas filas: las primeras n, o una página que empieza después de m filas.
Sintaxis
SELECT … ORDER BY … LIMIT n [OFFSET m];SELECT … ORDER BY … OFFSET m ROWS FETCH FIRST n ROWS ONLY;
- La forma FETCH es SQL estándar. SQL Server usa TOP u OFFSET … FETCH; Oracle usa FETCH FIRST.
Ejemplo
SELECT name, unit_price FROM products ORDER BY unit_price DESC, name LIMIT 3 OFFSET 3;
La segunda página de tres productos, del más caro al más barato.
Tablas usadas: products. Pruébalo en una lección de abajo.
Errores comunes
- Sin ORDER BY, no se define qué filas obtienes.
- Un OFFSET grande sigue leyendo y saltando todas las filas anteriores, así que las páginas profundas se vuelven lentas.