LIMIT e OFFSET
Restituisce solo alcune righe: le prime n, oppure una pagina che inizia dopo m righe.
Sintassi
SELECT … ORDER BY … LIMIT n [OFFSET m];SELECT … ORDER BY … OFFSET m ROWS FETCH FIRST n ROWS ONLY;
- La forma FETCH è SQL standard. SQL Server usa TOP oppure OFFSET … FETCH; Oracle usa FETCH FIRST.
Esempio
SELECT name, unit_price FROM products ORDER BY unit_price DESC, name LIMIT 3 OFFSET 3;
La seconda pagina di tre prodotti, dal più caro.
Tabelle usate: products. Provalo in una lezione qui sotto.
Errori comuni
- Senza ORDER BY, non è definito quali righe si ottengono.
- Un OFFSET grande legge e salta comunque tutte le righe precedenti, quindi le pagine più avanti diventano lente.