Limite in Oracle

Limite in Oracle

Nella maggior parte dei casi, i database comprendono migliaia a milioni di record in una tabella. Può essere scoraggiante rivedere manualmente tutti i record quando si esegue le domande.

Pertanto, dovrai utilizzare varie clausole in SQL, come dichiarazioni condizionali, funzioni di corrispondenza dei motivi, operatori, ecc. Anche allora, puoi finire con numerosi record da ordinare.

Possiamo utilizzare la funzionalità limite in SQL e in altri dialetti simili a SQL per limitare ulteriormente il numero di righe restituite da una determinata query.

Questo post discuterà un breve formato per limitare il numero di record restituiti da una determinata query Oracle. Ricorda che non esiste una clausola limite nel database Oracle, come troverai in altri database come MySQL, PostgreSQL, ecc.

Oracle Rownum

Per noi implementare una clausola simile a un limite, utilizzeremo la funzione rowum in SQL. Questa funzione restituisce il numero di righe in un determinato risultato.

Esploriamo come possiamo usare questa funzione.

Esempio di utilizzo

Supponiamo di avere una tabella con le informazioni sui dipendenti, come mostrato nell'immagine seguente:

Problema

Supponiamo di voler prendere le prime cinque colonne dalla tabella sopra e ignorare il resto?

Soluzione

Possiamo usare una sottoquery come mostrato nello snippet di seguito:

Selezionare *
Da (seleziona Employee_id, First_name, last_name, stipendio dall'ordine dei dipendenti di Employee_id ASC)
dove rowum <= 5;

Nella query sopra, definiamo una sottoquery usando la clausola. Quindi, la sottoquery recupera le colonne di destinazione e ordina le righe in ordine crescente in base al dipendente_id.

Infine, definiamo un'istruzione condizionale che garantisce che il numero di righe restituito sia inferiore o uguale a 5. Questo costringe il numero di record dalla query per fermarsi a cinque.

Un output di esempio è come mostrato:

Tieni presente che l'uso della sottoquery garantisce che le righe siano ordinate in ordine crescente o discendente. Quindi, ad esempio, se si desidera recuperare cinque righe casuali, eseguire:

Seleziona Employee_id, First_name, Last_Name, Stipendio
dai dipendenti
dove rowum <= 5;

Produzione:

Dall'output sopra, potresti non notare la differenza. Tuttavia, l'esecuzione della query senza un ordine per clausola in dati non prestiti comporterà un set casuale di valori.

Conclusione

Questo tutorial breve ma prezioso ha esplorato l'implementazione della clausola limite nel database Oracle utilizzando il valore rowum.