Problema:
Desideri visualizzare record non duplicati in SQL.
Esempio:
Il nostro database ha una tabella denominata City
con i dati nelle colonne id
, name
e country
.
id | paese | |
---|---|---|
1 | Madrid | Spagna |
2 | Barcellona | Spagna |
3 | Varsavia | Polonia |
4 | Cracovia | Polonia |
Prendiamo i nomi dei paesi senza duplicati.
Soluzione:
Utilizzeremo la parola chiave DISTINCT
. Ecco la domanda:
SELECT DISTINCT country FROM City;
Ecco il risultato della query:
paese |
---|
Spagna |
Polonia |
Discussione:
Se desideri che la query restituisca solo righe univoche, utilizza la parola chiave DISTINCT
dopo SELECT
. DISTINCT
può essere utilizzato per recuperare righe univoche da una o più colonne. Devi elencare le colonne dopo DISTINCT
parola chiave.
Come funziona sotto il cofano? Quando la query viene eseguita, viene selezionato prima l'intero set di dati, quindi DISTINCT
rimuove le righe duplicate date le colonne selezionate.
Nel nostro esempio, sia la Spagna che la Polonia compaiono due volte nella tabella. Tuttavia, dopo aver applicato la parola chiave DISTINCT
, ognuno di essi viene restituito una sola volta.