LIMIT et OFFSET
Ne renvoyer qu'une partie des lignes : les n premières, ou une page commençant après m lignes.
Syntaxe
SELECT … ORDER BY … LIMIT n [OFFSET m];SELECT … ORDER BY … OFFSET m ROWS FETCH FIRST n ROWS ONLY;
- La forme FETCH est la norme SQL. SQL Server utilise TOP ou OFFSET … FETCH ; Oracle utilise FETCH FIRST.
Exemple
SELECT name, unit_price FROM products ORDER BY unit_price DESC, name LIMIT 3 OFFSET 3;
La deuxième page de trois produits, du plus cher au moins cher.
Tables utilisées : products. Essayez-le dans une leçon ci-dessous.
Erreurs courantes
- Sans ORDER BY, les lignes obtenues ne sont pas définies.
- Un OFFSET élevé lit et saute encore toutes les lignes précédentes, donc les pages profondes deviennent lentes.