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.

Esercitati