Clausole limite PostgreSQL

Clausole limite PostgreSQL

Discutiamo i dettagli dell'utilizzo della clausola limite PostgreSQL per limitare l'output a un valore specificato.

Sebbene la clausola limite sia un'affermazione opzionale, è molto utile quando non si desidera che una domanda restituisca migliaia e migliaia di record.

Uso di base

La clausola limite è piuttosto semplice. La sintassi generale per la query è:

Seleziona Select_lst dal limite della tabella numero | TUTTO

Il valore limite è un valore intero che specifica il limite di riga per l'output.

Ad esempio, se una query restituisce 100 record e si imposta il limite come 5, vengono visualizzate solo 5 righe.

NOTA: A meno che la query stessa non restituisca meno valori rispetto a quelli specificati nella clausola limite, il valore limite imposta sempre il valore di restituzione.

Se la LIMITE Il valore è impostato su 0, la query restituirà un set vuoto. D'altra parte, se non viene impostato alcun valore per il LIMITE clausola (null), la query restituirà gli stessi valori di non ha un LIMITE clausola specificata.

Esempi di clausole limite di PostgreSQL

Illustriamo come usare il LIMITE clausola per esempi.

Esempio 1

Il primo esempio mostra un semplice utilizzo del LIMITE clausola. In questo esempio, utilizzeremo il database Sample Sakila.

Considera la tabella del film; Possiamo determinare il numero di record usando la query:

Seleziona Conte (*) dal film;
contare
-------
1000
(1 riga)

In questo esempio, la tabella contiene 1000 record. Lo scarico di tutti i record potrebbe non essere molto efficiente. Invece, possiamo limitare l'output a soli 10 record come:

Seleziona Film_id, Titolo, Release_Year, Valutazione da Film Limit 10;

Questo comando deve restituire informazioni filtrate come mostrato nella tabella seguente:

Esempio 2

Nella maggior parte dei casi, quando limita l'output, è bene ordinare con una colonna specifica. In questo modo ti consente di comprendere i valori restituiti.

Ad esempio, possiamo ordinare l'output nell'esempio precedente da Film_ID.

Una query di esempio è di seguito:

Seleziona Film_id, Titolo, Release_Year, Valutazione dall'ordine del film By Film_id Limit 10;

In questo esempio, i risultati sono organizzati da Film_id in un ordine ascendente come l'esempio precedente in cui il risultato era in ordine casuale.

Esempio 3

C'è un amico nella clausola limite. La clausola di offset è abbastanza simile alla clausola limite ma salta solo il numero specificato di righe.

Ad esempio, per iniziare il risultato dalla riga 100, possiamo impostare l'offset come:

Seleziona Film_id, Title, Release_Year, Valutazione da Film Order By Film_id Offset 99;

In questo esempio, il risultato inizia dalla 100a riga in avanti.

Allo stesso modo, è bene ordinare ai risultati di seguire un ordine specifico.

Esempio 4

È inoltre possibile utilizzare le clausole limite e offset nella stessa query. Ad esempio, considera la query di seguito:

Seleziona Film_id, Titolo, Release_Year, Valutazione dall'ordine del film di Film_ID Offset 3 Limite 10;

L'ordine del Limite e offset è irrilevante come il COMPENSARE viene valutato per primo quindi il Clausola limite.

Esempio 5

Come accennato, è possibile utilizzare il limite 0, che non restituisce alcun record. Tuttavia, restituisce le colonne come:

Seleziona * dall'ordine del film By Film_id Limit 0;

Esempio 6

Puoi anche usare il LIMITE clausola in combinazione con il ORDINATO DA Per ottenere un numero specifico di ultimi elementi.

Ad esempio, per ottenere gli ultimi 5 elementi in una tabella, possiamo impostare il ORDINATO DA clausola per essere Desc e limite il valore a 5 come:

Seleziona film_id, titolo, rilascio_year, valutazione dall'ordine del film di Film_id Desc Limit 5;

In questo esempio, dovremmo ottenere gli ultimi 5 elementi come:

Conclusione

In questa rapida guida, abbiamo discusso di come il Limite e offset La clausola funziona. Abbiamo anche usato alcuni esempi per illustrare come puoi sfruttare le sue funzionalità per ottenere risultati personalizzati.