Select distinct

L’istruzione DISTINCT permette di evitare la restituzione di righe uguali, ovvero rimuove i duplicati.

SELECT DISTINCT <attributi>
FROM <nome_tabella>;

Confronto tra SELECT e SELECT DISTINCT

Consideriamo la seguente tabella uni:

id nome regione
1 La Sapienza Lazio
2 Università di Bologna Emilia-Romagna
3 Federico II Campania
4 Università di Torino Piemonte
5 Università di Milano Lombardia
6 Università di Padova Veneto
7 Università di Firenze Toscana
8 Politecnico di Milano Lombardia
9 Università di Pisa Toscana
10 Università di Bari Puglia

Primo caso:

SELECT regione FROM uni;

Tale query restituirà le seguenti 10 righe

Lazio
Emilia-Romagna
Campania
Piemonte
Lombardia
Veneto
Toscana
Lombardia
Toscana
Puglia

Secondo caso:

SELECT DISTINCT regione FROM uni;

Lazio
Emilia-Romagna
Campania
Piemonte
Lombardia
Veneto
Toscana
Puglia

Notiamo che le righe nel secondo caso sono 8, questo perché le tuple “Lombardia” e “Toscana” sono presenti due volte e vengono restituite una volta sola.