La clausola Top in Sql

La clausola TOP nelle query SQL consente di specificare il numero di record da selezionare all'interno di una SELECT.

A cosa serve?

La clausola è particolarmente utile quando si vuole estrapolare soltanto un limitato numero di record ed eliminare il rischio che la SELECT estrapoli un grande volume di dati consumando eccessivamente le risorse del computer.

La sintassi

La sintassi della clausola TOP in una query SELECT è la seguente:

SELECT TOP [numero risultati] [dato] FROM [tabella]

Facciamo un esempio pratico. Poniamo di avere una tabella di nome "alunni" e di voler estrapolare soltanto i nomi di due alunni. La query da scrivere sarà la seguente:

SELECT TOP 2 * FROM alunni

La clausola TOP è supportata soltanto in alcuni database. È comunque possibile trovare delle valide alternative che consentono di raggiungere lo stesso risultato.

La clausola Limit in MySQL

Nel database MySQL si utilizza la clausola LIMIT. L'esempio precedente andrebbe pertanto riscritto nel seguente modo:

SELECT * FROM alunni LIMIT 2

La clausola WHERE ROWNUM su Oracle

Nel database Oracle è invece utilizzata la sintassi WHERE ROWNUM. In quest'ultimo caso dovremmo riscrivere la SELECT nel seguente modo:

SELECT * FROM alunni WHERE ROWNUM <=2

Il risultato della query è sempre lo stesso. Indipendentemente dal volume di dati contenuti nella tabella, la SELECT estrapola soltanto i primi due che risettano le condizioni della query e poi si ferma. Si evita così di estrapolare grandi quantità di dati inutili, si riduce il consumo delle risorse macchina e si velocizza notevolmente il tempo di esecuzione della query.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

SQL