SQL SELECT TOP ti consente di ridurre le analisi dei dati ai record se­le­zio­na­ti nelle colonne e nelle tabelle in cui vuoi eseguire la ricerca. In presenza di database molto complessi, limitando il numero di record da re­sti­tui­re ottimizzi le pre­sta­zio­ni e risparmi risorse.

Cos’è SQL SELECT TOP?

Per il lin­guag­gio di database SQL hai a di­spo­si­zio­ne diversi strumenti come i comandi SQL, gli operatori SQL e le funzioni SQL. A seconda delle necessità puoi quindi eseguire ricerche nei record, ana­liz­zar­li, mo­di­fi­car­li o ma­ni­po­lar­li. In par­ti­co­la­re, in presenza di record molto grandi con migliaia di voci è utile limitare il numero di risultati re­sti­tui­ti per ef­fet­tua­re in­ter­ro­ga­zio­ni ef­fi­cien­ti. A questo scopo utilizza il comando SQL SELECT TOP.

Com­bi­nan­do SQL SELECT con la parola chiave TOP si ottiene una funzione che consente di limitare i dati ri­sul­tan­ti al numero de­si­de­ra­to. I risultati vengono così ridotti alle voci più rilevanti, ot­ti­miz­zan­do la leg­gi­bi­li­tà e l’efficacia dell’analisi. Tieni però presente che SQL SELECT TOP non funziona in tutti i database. Sono quindi di­spo­ni­bi­li i comandi al­ter­na­ti­vi LIMIT, FETCH FIRST e ROWNUM.

Consiglio

Scopri le nozioni basilari e le funzioni più im­por­tan­ti nella nostra in­tro­du­zio­ne a SQL con esempi.

La sintassi di SELECT TOP

La semplice sintassi di SELECT TOP si presenta come segue:

SELECT  TOP  n ColonnaA, ColonnaB, …
FROM tabella
sql

Si usano i parametri seguenti:

  • SELECT TOP: con il comando SELECT TOP definisci il numero di risultati e le colonne da cui ri­chia­ma­re i record. Indica il nome della colonna dopo il numero di risultati de­si­de­ra­to oppure inserisci un asterisco * per se­le­zio­na­re tutti i record della tabella.
  • FROM: definisce in quale tabella con­trol­la­re le colonne e i record.

Ser­ven­do­ti di altre clausole e operatori opzionali puoi precisare i risultati re­sti­tui­ti:

  • WHERE: la clausola SQL WHERE ti consente di definire le con­di­zio­ni che devono essere sod­di­sfat­te dai record rilevanti. I risultati ir­ri­le­van­ti vengono esclusi.
  • ORDER BY: con il comando SQL ORDER BY e le istru­zio­ni ASC o DESC sta­bi­li­sci se i risultati devono essere disposti in ordine crescente o de­cre­scen­te.

Ap­pli­ca­zio­ni dell’operatore SELECT TOP

In linea di principio SQL SELECT TOP serve per con­fron­ta­re i dati, ana­liz­zar­li o filtrarli per di­men­sio­ni e quantità. Tra le ap­pli­ca­zio­ni pratiche per diversi settori troviamo tra l’altro:

  • Ri­chia­ma­re i clienti con il numero di ordini più elevato
  • Filtrare i primi dieci team con le campagne di marketing di maggior successo
  • Vi­sua­liz­za­re le 50 tran­sa­zio­ni più grandi per con­trol­la­re i movimenti fi­nan­zia­ri sospetti
  • Vi­sua­liz­za­re i dieci siti web con il maggior numero di accessi in un mese
  • Ana­liz­za­re i clienti più pro­met­ten­ti sulla base di dati de­mo­gra­fi­ci, geo­gra­fi­ci e fi­nan­zia­ri
  • Eseguire controlli di magazzino ri­chia­man­do i dieci prodotti con le scorte più basse
  • Ana­liz­za­re il com­por­ta­men­to d’acquisto in base ai prodotti più ordinati o vi­sua­liz­za­ti
  • De­ter­mi­na­re i fattori di rischio nei pazienti sulla base di risultati di test, sintomi o malattie pregresse rilevanti
  • Filtrare i fornitori con i tempi o i percorsi di consegna più brevi
Consiglio

Scopri le proposte per­so­na­liz­za­te di server e hosting per i tuoi progetti web e database con l’hosting SQL server di IONOS. Affidati alla pro­te­zio­ne e alla sicurezza dei dati secondo gli standard europei.

Server virtuali (VPS)
Affidati ai VPS e server di IONOS, il tuo partner digitale cer­ti­fi­ca­to ISO
  • 1 Gbps di larghezza di banda e traffico il­li­mi­ta­to
  • Di­spo­ni­bi­li­tà del 99,99% e cer­ti­fi­ca­zio­ne ISO
  • As­si­sten­za 24/7 e con­su­len­te personale

Esempi pratici di SQL SELECT TOP

Per mostrare come funziona l’istru­zio­ne SQL SELECT TOP, te la pre­sen­tia­mo ser­ven­do­ci di due esempi pratici.

Vi­sua­liz­za­re gli ultimi dieci ordini

In una tabella “Ordini” vogliamo vi­sua­liz­za­re solo gli ultimi dieci ordini. Pro­ce­dia­mo come indicato di seguito:

SELECT  TOP  10  *
FROM  Ordini
ORDER BY  DataOrdine DESC
sql

Ri­cor­ren­do ad aggiunte come ORDER BY puoi ordinare i risultati secondo parametri come quantità dell’ordine, prezzo o altre ca­rat­te­ri­sti­che.

Clienti con il maggior numero di ordini

In una tabella “Ordini” vogliamo vi­sua­liz­za­re solo i primi dieci clienti con il maggior numero di ordini. Pro­ce­dia­mo come indicato di seguito:

SELECT TOP 10 NomeCliente, IdCliente, COUNT(*) AS QuantitàOrdineTotale
FROM Ordini
GROUP BY NomeCliente, IDCliente
ORDER BY QuantitàOrdineTotale DESC
sql

Con la funzione COUNT puoi sommare tutti gli ordini dei clienti con i relativi nomi e ID cliente per as­so­ciar­li agli ordini più frequenti.

Al­ter­na­ti­ve a SQL SELECT TOP

A seconda del sistema che usi per i tuoi database può essere ne­ces­sa­ria un’istru­zio­ne al­ter­na­ti­va per re­strin­ge­re i risultati. Controlla quindi se il tuo sistema di database supporta SQL SELECT TOP o un’altra funzione. Di seguito trovi un prospetto di SQL SELECT TOP e delle al­ter­na­ti­ve in base al sistema di gestione di database (DMS):

Funzione SQL DMS Funzione
SELECT TOP SQL Server Limita i risultati a n
LIMIT MySQL Limita i risultati a n
ROWNUM oppure ROWS Oracle Definisce il numero di righe del risultato
OFFSET + FETCH Oracle, MySQL Integrano la clausola ORDER BY e de­fi­ni­sco­no il numero di record nei risultati
FETCH FIRST n ROWS ONLY Oracle Limita il numero di righe del risultato a n
Vai al menu prin­ci­pa­le