Rimuovere duplicati
Le righe di una tabella devono essere sempre univoche; tuttavia, quando si seleziona solo un subset delle colonne, le righe dei risultati potrebbero non essere univoche anche se lo sono le righe originali. Ad esempio, si potrebbe avere una tabella di fornitori con il requisito che la città e lo stato (o provincia) siano univoci, in modo che non ci sia mai più di un fornitore in una città. Tuttavia, se si vogliono visualizzare solo le città e i paesi/aree geografiche in cui si trovano i fornitori, i risultati restituiti potrebbero non essere univoci. Si supponga di scrivere la query seguente:
SELECT City, CountryRegion
FROM Production.Supplier
ORDER BY CountryRegion, City;
Questa query potrebbe produrre risultati simili ai seguenti:
City
CountryRegion
Aurora
Canada
Barrie
Canada
Brampton
Canada
Brossard
Canada
Brossard
Canada
Burnaby
Canada
Burnaby
Canada
Burnaby
Canada
Calgary
Canada
Calgary
Canada
...
...
Per impostazione predefinita, la clausola SELECT include una parola chiave ALL implicita che determina questo comportamento:
SELECT ALL City, CountryRegion
FROM Production.Supplier
ORDER BY CountryRegion, City;
T-SQL supporta anche un'alternativa, la parola chiave DISTINCT, che rimuove tutte le righe di risultati duplicate:
SELECT DISTINCT City, CountryRegion
FROM Production.Supplier
ORDER BY CountryRegion, City;
Quando si usa DISTINCT, nell'esempio viene restituita solo una delle combinazioni univoche di valori nell'elenco SELECT:
City
CountryRegion
Aurora
Canada
Barrie
Canada
Brampton
Canada
Brossard
Canada
Burnaby
Canada
Calgary
Canada
...
...