SQL SELECT TOP: come selezionare record in modo mirato

SQL SELECT TOP ti consente di ridurre le analisi dei dati ai record selezionati nelle colonne e nelle tabelle in cui vuoi eseguire la ricerca. In presenza di database molto complessi, limitando il numero di record da restituire ottimizzi le prestazioni e risparmi risorse.

Cos’è SQL SELECT TOP?

Per il linguaggio di database SQL hai a disposizione diversi strumenti come i comandi SQL, gli operatori SQL e le funzioni SQL. A seconda delle necessità puoi quindi eseguire ricerche nei record, analizzarli, modificarli o manipolarli. In particolare, in presenza di record molto grandi con migliaia di voci è utile limitare il numero di risultati restituiti per effettuare interrogazioni efficienti. A questo scopo utilizza il comando SQL SELECT TOP.

Combinando SQL SELECT con la parola chiave TOP si ottiene una funzione che consente di limitare i dati risultanti al numero desiderato. I risultati vengono così ridotti alle voci più rilevanti, ottimizzando la leggibilità e l’efficacia dell’analisi. Tieni però presente che SQL SELECT TOP non funziona in tutti i database. Sono quindi disponibili i comandi alternativi LIMIT, FETCH FIRST e ROWNUM.

Consiglio

Scopri le nozioni basilari e le funzioni più importanti nella nostra introduzione 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 richiamare i record. Indica il nome della colonna dopo il numero di risultati desiderato oppure inserisci un asterisco * per selezionare tutti i record della tabella.
  • FROM: definisce in quale tabella controllare le colonne e i record.

Servendoti di altre clausole e operatori opzionali puoi precisare i risultati restituiti:

  • WHERE: la clausola SQL WHERE ti consente di definire le condizioni che devono essere soddisfatte dai record rilevanti. I risultati irrilevanti vengono esclusi.
  • ORDER BY: con il comando SQL ORDER BY e le istruzioni ASC o DESC stabilisci se i risultati devono essere disposti in ordine crescente o decrescente.

Applicazioni dell’operatore SELECT TOP

In linea di principio SQL SELECT TOP serve per confrontare i dati, analizzarli o filtrarli per dimensioni e quantità. Tra le applicazioni pratiche per diversi settori troviamo tra l’altro:

  • Richiamare i clienti con il numero di ordini più elevato
  • Filtrare i primi dieci team con le campagne di marketing di maggior successo
  • Visualizzare le 50 transazioni più grandi per controllare i movimenti finanziari sospetti
  • Visualizzare i dieci siti web con il maggior numero di accessi in un mese
  • Analizzare i clienti più promettenti sulla base di dati demografici, geografici e finanziari
  • Eseguire controlli di magazzino richiamando i dieci prodotti con le scorte più basse
  • Analizzare il comportamento d’acquisto in base ai prodotti più ordinati o visualizzati
  • Determinare 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 personalizzate di server e hosting per i tuoi progetti web e database con l’hosting SQL server di IONOS. Affidati alla protezione e alla sicurezza dei dati secondo gli standard europei.

Server virtuali (VPS)
Virtualizzazione totale con accesso root completo
  • Traffico illimitato e fino a 1 Gbit/s di larghezza di banda
  • Storage SSD NVMe veloce
  • Plesk Web Host Edition incluso

Esempi pratici di SQL SELECT TOP

Per mostrare come funziona l’istruzione SQL SELECT TOP, te la presentiamo servendoci di due esempi pratici.

Visualizzare gli ultimi dieci ordini

In una tabella “Ordini” vogliamo visualizzare solo gli ultimi dieci ordini. Procediamo come indicato di seguito:

SELECT  TOP  10  *
FROM  Ordini
ORDER BY  DataOrdine DESC
sql

Ricorrendo ad aggiunte come ORDER BY puoi ordinare i risultati secondo parametri come quantità dell’ordine, prezzo o altre caratteristiche.

Clienti con il maggior numero di ordini

In una tabella “Ordini” vogliamo visualizzare solo i primi dieci clienti con il maggior numero di ordini. Procediamo 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 associarli agli ordini più frequenti.

Alternative a SQL SELECT TOP

A seconda del sistema che usi per i tuoi database può essere necessaria un’istruzione alternativa per restringere 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 alternative 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 definiscono il numero di record nei risultati
FETCH FIRST n ROWS ONLY Oracle Limita il numero di righe del risultato a n
Hai trovato questo articolo utile?
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.
Page top