Home / Blog / -

SQL DISTINCT: come escludere i valori ripetuti in una query

di Giuseppe Maggi

Nel linguaggio SQL capita spesso di trattare dati dove appaiono delle ripetizioni. Queste sono assolutamente frequenti e hanno una loro utilità. A volte però servirebbe estrapolare i dati presenti in un database senza alcuna duplicazione, per vedere una volta sola valori uguali ripetuti più volte.

Scopriamo dunque a cosa serve il comando SQL DISTINCT. Se invece non sai ancora cosa sia l’SQL, leggi che cos’è e come funziona il linguaggio SQL prima di proseguire.

Supponiamo di avere una tabella dove il campo Marca mostri il nome delle aziende produttrici di pasta:

SQL DISTINCT

Se più record possono essere riferiti alla stessa marca, eseguendo la query:

SELECT Marca FROM tabella

otterremo una colonna di risultati dove la stessa marca sarà citata più volte e dunque avremo questo set di risultati:

Barilla
Voiello
Voiello
Rummo
Rummo
Rummo

E se volessimo lo stesso set di risultati ma epurato dei duplicati in modo da conoscere con chiarezza i nomi di tutte le marche coinvolte in una data colonna senza ripetizioni?

Il codice da utilizzare in questo caso sarà:

SELECT DISTINCT Marca FROM tabella

applicando la stessa query ma associando semplicemente la parola chiave DISTINCT a SELECT.
In questo modo otterremo dei valori differenti per quella colonna, valori che escludono la ripetizione degli stessi.
Avremo dunque:

Barilla
Voiello
Rummo

Abbiamo imparato dunque a estrapolare i valori in un database grazie al linguaggio SQL tramite la funzione SELECT e a farlo senza duplicati grazie al comando SELECT DISTINCT.
E se ora volessimo conoscere il numero dei risultati estrapolati dal database? Ti consigliamo di approfondire la conoscenza del comando SQL COUNT per sapere come contare il numero di elementi presenti in una tabella.

VUOI IMPARARE A PROGRAMMARE?

Iscriviti su devACADEMY e SEGUI TUTTI I CORSI che vuoi!
OLTRE 70 CORSI di coding A TUA DISPOSIZIONE con un’unica iscrizione 🙂

SCOPRI I CORSI | ISCRIVITI