SQL SELECT DISTINCT: rimuovere i valori doppi dalle interrogazioni di dati
SQL SELECT DISTINCT
ti consente di ottenere risultati contenenti solo righe e record univoci nelle interrogazioni dei dati. Il comando rimuove i doppioni dalle righe e dai record selezionati, aumentando la precisione e la chiarezza dell’analisi dei dati.
Cos’è SQL SELECT DISTINCT
?
SELECT DISTINCT
è un operatore SQL usato in abbinamento al comando SQL SELECT. Il comando SELECT
permette di selezionare uno o più record e colonne nelle interrogazioni di dati. Usandolo in combinazione con l’operatore DISTINCT
fai in modo che il risultato dell’interrogazione contenga solo righe univoche e diverse, senza righe e valori doppi. Combinando SELECT DISTINCT
con altri operatori SQL e comandi SQL puoi adattare le interrogazioni alle tue esigenze specifiche.
La differenza tra SQL SELECT DISTINCT
e SELECT UNIQUE
UNIQUE
(univoco) e DISTINCT
(distinto) hanno un significato simile, ma come operatori SQL svolgono funzioni diverse. Per utilizzare correttamente SQL SELECT DISTINCT
occorre quindi conoscere le differenze tra i due operatori.
SQL SELECT DISTINCT | SQL SELECT UNIQUE |
---|---|
Controlla interi record per individuare righe e valori doppi, eliminando le ridondanze e restituendo solo risultati distinti e univoci | Adatto per impedire che nelle colonne e nelle tabelle selezionate vengano inseriti duplicati e valori doppi, limitando le colonne |
Utilizzato per ottenere risultati univoci e significativi soprattutto nella valutazione, nell’analisi e nel confronto di record | Durante la creazione e l’elaborazione di tabelle, è usato per garantire una migliore integrità dei dati senza ridondanze |
Vuoi imparare rapidamente il linguaggio di programmazione e di database SQL? La nostra introduzione a SQL mediante esempi ti presenta le funzioni e le nozioni basilari più importanti di SQL.
La sintassi di SELECT DISTINCT
La semplice sintassi di SELECT DISTINCT
si presenta come segue:
SELECT DISTINCT ColonnaA, ColonnaB, …
FROM tabella
sqlSi usano i parametri seguenti:
SELECT DISTINCT
: il comandoSELECT
abbinato all’operatoreDISTINCT
seleziona le colonne per cui si desidera eliminare i duplicati dal risultato.FROM
: seleziona la tabella per cui cercare duplicati nelle colonne.WHERE
: la clausola opzionale SQL WHERE permette di limitare l’interrogazione di dati ai valori rilevanti applicando condizioni aggiuntive.
Le applicazioni di SELECT DISTINCT
Le possibilità d’impiego per le interrogazioni con SQL SELECT DISTINCT
sono pressoché illimitate. Ad esempio, permettono di:
- Limitare a una voce univoca i dati dei clienti, degli ordini, dei pazienti o dei prodotti che compaiono più volte nelle righe.
- Conteggiare e mostrare il numero di acquisti dei prodotti in base agli ordini e all’ID del prodotto.
- Richiamare i dati univoci di pazienti o clienti.
- Visualizzare tutti gli indirizzi di consegna o i fornitori di una regione.
Vuoi creare solide basi per i tuoi progetti web con un sistema di gestione di database scalabile? Affidati all’hosting SQL Server di IONOS e scopri le proposte personalizzate di server e hosting, con standard UE di protezione dei dati.
- 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 DISTINCT
Per mostrare come funziona l’operatore SQL SELECT DISTINCT
te lo presentiamo servendoci di due esempi pratici.
Richiamare tutti i clienti
In una tabella “Ordini” vogliamo richiamare univocamente tutti i clienti escludendo le righe doppie dovute a ordini multipli. Procediamo come indicato di seguito:
SELECT DISTINCT NomeCliente
FROM Ordini
sqlFiltrare i clienti di una determinata regione
Con la clausola WHERE
puoi definire meglio la valutazione dei dati dei clienti applicando condizioni aggiuntive. Se ad esempio vuoi richiamare dalla tabella “Ordini” tutti i nomi dei clienti residenti in Italia, procedi come segue:
SELECT DISTINCT NomiClienti, Nazione
FROM Ordini
WHERE Nazione = 'Italia'
sqlAlternative a SQL SELECT DISTINCT
Anche se SELECT DISTINCT
è un modo pratico per eliminare i doppioni dalle interrogazioni di dati, non sempre è la soluzione migliore. Siccome in presenza di record di grandi dimensioni questo operatore richiede una quantità relativamente elevata di risorse per confrontare ogni singola colonna selezionata, vale la pena di scegliere alternative con una funzione analoga, tra cui:
GROUP BY
: la clausola SQL GROUP BY consente di raggruppare i record desiderati delle colonne indicate e di precisarli con ulteriori funzioni e operatori.EXISTS
: SQL EXISTS controlla se in un’altra tabella sono presenti valori e record specifici.COUNT
: combinandoDISTINCT
con la funzione SQL COUNT è possibile contare i valori univoci nelle colonne.SELECT
+FROM
+WHERE
: con una sottoquery, ovvero un’interrogazione annidata in un’altra, puoi restringere meglio i risultati. Per far questo, nella sottoquery scegli la colonna interessata conSELECT
, con FROM indica in quale tabella si trova la colonna e conWHERE
definisci le condizioni che i risultati devono soddisfare.