Usuwanie duplikatów
Chociaż wiersze w tabeli powinny być zawsze unikatowe, po wybraniu tylko podzestawu kolumn wiersze wynikowe mogą nie być unikatowe, nawet jeśli oryginalne wiersze są. Na przykład możesz mieć tabelę dostawców z wymaganiem, aby miasto i województwo (lub prowincja) były unikatowe, aby nigdy nie było więcej niż jednego dostawcy w żadnym mieście. Jeśli jednak chcesz zobaczyć miasta i kraje/regiony, w których znajdują się dostawcy, zwrócone wyniki mogą nie być unikatowe. Załóżmy, że piszesz następujące zapytanie:
SELECT City, CountryRegion
FROM Production.Supplier
ORDER BY CountryRegion, City;
To zapytanie może zwrócić wyniki podobne do następujących:
City
CountryRegion
Aurora
Kanada
Barrie
Kanada
Brampton
Kanada
Brossard
Kanada
Brossard
Kanada
Burnaby
Kanada
Burnaby
Kanada
Burnaby
Kanada
Calgary
Kanada
Calgary
Kanada
...
...
Domyślnie klauzula SELECT zawiera niejawne słowo kluczowe ALL, które powoduje to zachowanie:
SELECT ALL City, CountryRegion
FROM Production.Supplier
ORDER BY CountryRegion, City;
Język T-SQL obsługuje również alternatywne słowo kluczowe DISTINCT, które usuwa wszystkie zduplikowane wiersze wyników:
SELECT DISTINCT City, CountryRegion
FROM Production.Supplier
ORDER BY CountryRegion, City;
W przypadku używania funkcji DISTINCT przykład zwraca tylko jedną z każdej unikatowej kombinacji wartości na liście SELECT:
City
CountryRegion
Aurora
Kanada
Barrie
Kanada
Brampton
Kanada
Brossard
Kanada
Burnaby
Kanada
Calgary
Kanada
...
...