Riepilogo: questo tutorial mostra come utilizzare la clausola SQLLIMIT
per vincolare il numero di righe restituite da un’istruzioneSELECT
.
Introduzione alla clausola LIMITE SQL
Per recuperare una porzione di righe restituite da una query, si utilizzano le clausoleLIMIT
eOFFSET
., Quanto segue illustra la sintassi di queste clausole:
In questa sintassi:
- Il
row_count
determina il numero di righe che verranno restituite. - La clausola
OFFSET
salta le righeoffset
prima di iniziare a restituire le righe. La clausolaOFFSET
è facoltativa in modo da poterla saltare., Se si utilizzano entrambe le clausoleLIMIT
eOFFSET
,OFFSET
saltaoffset
prima delle righeLIMIT
vincola il numero di righe.
Quando si utilizza la clausola LIMIT
, è importante utilizzare una clausola ORDER BY
per assicurarsi che le righe restituite siano in un ordine specificato.,
Non tutti i sistemi di database di supporto LIMIT
clausola, pertanto, il LIMIT
clausola è disponibile solo in alcuni sistemi di database solo come MySQL, PostgreSQL, SQLite, Sybase SQL Anywhere e HSQLDB.
SQL LIMIT clause examples
Useremo la tabellaemployees
nel database di esempio per dimostrare la clausola LIMIT.,
La seguente istruzione restituisce tutte le righe della tabella employees
ordinate per first_name
colonna.
Vedere in azione
Per tornare solo 5 righe, si utilizza il tag LIMIT
clausola di come la seguente dichiarazione.,
Vedere in azione
Per saltare due righe e ottenere i prossimi cinque righe, si utilizza sia LIMIT
e OFFSET
clausole, come illustrato nel prospetto seguente.
Vedere in azione
Se si utilizza MySQL, è possibile utilizzare la forma più breve del LIMIT OFFSET
clausole.,
Vederlo in azione
Usando SQL LIMIT per ottenere le prime N righe con il valore più alto o più basso
Puoi usare la clausola LIMIT
per ottenere le prime N righe con il valore più alto o più basso. Ad esempio, la seguente dichiarazione ottiene i primi cinque dipendenti con gli stipendi più alti.,
Vedere in azione
in Primo luogo, ORDER BY
clausola ordina i dipendenti con stipendio in ordine decrescente, quindi il LIMIT
clausola limita cinque righe restituite dalla query.
Per ottenere i primi cinque dipendenti con lo stipendio più basso, si ordinano invece i dipendenti per stipendio in ordine crescente.,
Ottenere le righe con l’ennesimo valore più alto
Supponiamo di dover ottenere dipendenti il cui 2 ° stipendio più alto in azienda. Per fare ciò, si utilizzano le clausole LIMIT OFFSET
come segue.
Vederlo in azione
La clausola ORDER BY
ordina i dipendenti per stipendio in ordine decrescente. E la clausolaLIMIT 1 OFFSET 1
ottiene la seconda riga dal set di risultati.,
Questa query funziona con l’ipotesi che ogni dipendente abbia uno stipendio diverso. Fallirà se ci sono due dipendenti che hanno lo stesso stipendio più alto. Inoltre, nel caso in cui si disponga di due o più dipendenti che hanno lo stesso 2 ° stipendio più alto, la query restituisce solo il primo.
Per risolvere questo problema, è possibile ottenere il secondo stipendio più alto prima utilizzando la seguente dichiarazione.,
Vedere in azione
E il risultato di un’altra query:
Vedere in azione
Se si conosce sottoquery, è possibile combinare entrambe le query in una singola query come segue:
Vedere in azione
In questo tutorial, abbiamo introdotto la SQL LIMITARE e COMPENSARE le clausole che consentono di limitare il numero di righe restituite da una query.,
- Questo tutorial è stato utile ?
- Sì