Qual è la parola chiave LIMIT?
La parola chiave limit viene utilizzata per limitare il numero di righe restituite nel risultato di una query.
Può essere utilizzato insieme ai comandi SELEZIONA, AGGIORNA O CANCELLA la sintassi della parola chiave LIMIT
La sintassi per la parola chiave LIMIT è la seguente
SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N;
QUI
- "SELECT {fieldname (s) | *} FROM tableName (s)" è l'istruzione SELECT contenente i campi che vorremmo restituire nella nostra query.
- "[WHERE condition]" è facoltativo ma, se fornito, può essere utilizzato per specificare un filtro nel set di risultati.
- "LIMIT N" è la parola chiave e N è un numero qualsiasi a partire da 0, inserendo 0 poiché il limite non restituisce alcun record nella query. Mettere un numero diciamo 5 restituirà cinque record. Se i record nella tabella specificata sono inferiori a N, tutti i record della tabella interrogata vengono restituiti nel set di risultati.
Diamo un'occhiata a un esempio:
SELECT * FROM members LIMIT 2;
membership_ number | full_ names | gender | date_of _birth | date_of _registration | physical_ address | postal_ address | contact_ number | credit_ card_ number | |
---|---|---|---|---|---|---|---|---|---|
1 | Janet Jones | Female | 21-07-1980 | NULL | First Street Plot No 4 | Private Bag | 0759 253 542 | This email address is being protected from spambots. You need JavaScript enabled to view it. | NULL |
2 | Janet Smith Jones | Female | 23-06-1980 | NULL | Melrose 123 | NULL | NULL | This email address is being protected from spambots. You need JavaScript enabled to view it. | NULL |
Come puoi vedere dallo screenshot qui sopra, sono stati restituiti solo due membri.
Ottenere un elenco di dieci (10) membri solo dal database
Supponiamo di voler ottenere un elenco dei primi 10 membri registrati dal database di Myflix. Useremmo il seguente script per raggiungere questo obiettivo.
SELECT * FROM members LIMIT 10;
L'esecuzione dello script precedente ci fornisce i risultati mostrati di seguito
membership_ number | full_ names | gender | date_of _birth | date_of _registration | physical_ address | postal_ address | contact_ number | credit_ card_ number | |
---|---|---|---|---|---|---|---|---|---|
1 | Janet Jones | Female | 21-07-1980 | NULL | First Street Plot No 4 | Private Bag | 0759 253 542 | This email address is being protected from spambots. You need JavaScript enabled to view it. | NULL |
2 | Janet Smith Jones | Female | 23-06-1980 | NULL | Melrose 123 | NULL | NULL | This email address is being protected from spambots. You need JavaScript enabled to view it. | NULL |
3 | Robert Phil | Male | 12-07-1989 | NULL | 3rd Street 34 | NULL | 12345 | This email address is being protected from spambots. You need JavaScript enabled to view it. | NULL |
4 | Gloria Williams | Female | 14-02-1984 | NULL | 2nd Street 23 | NULL | NULL | NULL | NULL |
5 | Leonard Hofstadter | Male | NULL | NULL | Woodcrest | NULL | 845738767 | NULL | NULL |
6 | Sheldon Cooper | Male | NULL | NULL | Woodcrest | NULL | 976736763 | NULL | NULL |
7 | Rajesh Koothrappali | Male | NULL | NULL | Woodcrest | NULL | 938867763 | NULL | NULL |
8 | Leslie Winkle | Male | 14-02-1984 | NULL | Woodcrest | NULL | 987636553 | NULL | NULL |
9 | Howard Wolowitz | Male | 24-08-1981 | NULL | SouthPark | P.O. Box 4563 | 987786553 | lwolowitz[at]email.me | NULL |
Nota solo 9 membri sono stati restituiti nella nostra query poiché N nella clausola LIMIT è maggiore del numero di record totali nella nostra tabella.
Riscrivere lo script precedente come segue
SELECT * FROM members LIMIT 9;
Restituisce solo 9 righe nel nostro set di risultati della query.
Utilizzando OFF SET nella query LIMIT
Il valore OFF SET è anche più spesso utilizzato insieme alla parola chiave LIMIT. Il valore OFF SET ci permette di specificare quale riga iniziare dal recupero dei dati
Supponiamo di voler ottenere un numero limitato di membri a partire dal centro delle righe, possiamo utilizzare la parola chiave LIMIT insieme al valore di offset per ottenere ciò. Lo script mostrato di seguito ottiene i dati a partire dalla seconda riga e limita i risultati a 2.
SELECT * FROM `members` LIMIT 1, 2;
L'esecuzione dello script precedente nel workbench MySQL su myflixdb fornisce i seguenti risultati.
membership_ number | full_ names | gender | date_of _birth | date_of _registration | physical_ address | postal_ address | contact_ number | credit_ card_ number | |
---|---|---|---|---|---|---|---|---|---|
2 | Janet Smith Jones | Female | 23-06-1980 | NULL | Melrose 123 | NULL | NULL | This email address is being protected from spambots. You need JavaScript enabled to view it. | NULL |
3 | Robert Phil | Male | 12-07-1989 | NULL | 3rd Street 34 | NULL | 12345 | This email address is being protected from spambots. You need JavaScript enabled to view it. | NULL |
Quando dovremmo utilizzare la parola chiave LIMIT?
Supponiamo di sviluppare l'applicazione che gira su myflixdb. Il nostro progettista di sistema ci ha chiesto di limitare il numero di record visualizzati su una pagina a 20 record per pagina per contrastare i tempi di caricamento lenti. Come implementiamo il sistema che soddisfi tali requisiti utente? La parola chiave LIMIT è utile in tali situazioni. Saremmo in grado di limitare i risultati restituiti da una query a soli 20 record per pagina.
Sommario
- La parola chiave LIMIT di viene utilizzata per limitare il numero di righe restituite da un set di risultati.
- Il numero LIMIT può essere un numero qualsiasi da zero (0) in su. Quando zero (0) è specificato come limite, nessuna riga viene restituita dal set di risultati.
- Il valore OFF SET ci permette di specificare quale riga iniziare dal recupero dei dati
- Può essere utilizzato insieme ai comandi SELEZIONA, AGGIORNA O CANCELLA la sintassi della parola chiave LIMIT