MySQL mette a disposizione degli sviluppatori l’istruzione LIMIT il cui scopo, come il suo nome lascia ad intendere, è quello di decidere il limite di record che la query deve estrarre.
La sintassi SQL è la seguente:
SELECT * FROM nome_tabella LIMIT 5
Verranno estratti 5 record dalla tabella interrogata.
La query può essere potenziata aggiungendo l’ordinamento, in modo da decidere se gli N record da estrarre devono essere i primi o gli ultimi inseriti, o nell’ordine in cui si decide di estrarli.
La sintassi è la seguente:
SELECT * FROM nome_tabella ORDER BY nome_campo ASC LIMIT 5
La cosa ci lascia ad intendere che l’istruzione LIMIT, nell’ambito di una query SQL, è l’ultima da specificare.
E’ tuttavia possibile estrarre record centrali della tabella, specificando l’inizio e la fine; nel caso esposto in precedenza il numero passato a LIMIT come parametro rappresenta la fine, considerando come inizio il valore di default zero (0).
La sintassi base per questo più potente, se vogliamo, utilizzo di LIMIT, è la seguente:
... LIMIT inizio, fine
Facciamo un esempio concreto:
SELECT * FROM nome_tabella ORDER BY nome_campo ASC LIMIT 5, 10
Verranno estratti i record che vanno da 5 a 10.
La limitazione dell’estrazione dei record da una tabella, all’atto pratico, trova un utile riscontro a corredo di diverse tipologie di applicazioni.
Nei siti PHP, ad esempio, torna utile per estrarre le ultime N notizie, articoli, messaggi dal forum e cosi via. Ad esempio:
SELECT id, titolo FROM notizie ORDER BY data DESC LIMIT 10
Estrae le ultime 10 notizie inserite.
Altra utilissima applicazione di LIMIT nell’ambito Web, quindi con PHP, è la paginazione con PHP e MySQL (utilizzando LIMIT inizio, fine) ma affronteremo l’argomento in separata sede.
