Odebrání duplicit
I když by řádky v tabulce měly být vždy jedinečné, když vyberete jenom podmnožinu sloupců, nemusí být výsledné řádky jedinečné, i když jsou původní řádky. Můžete mít například tabulku dodavatelů s požadavkem, aby město a stát (nebo provincie) byly jedinečné, takže v žádném městě nikdy nebude více než jeden dodavatel. Pokud ale chcete jenom zobrazit města a země nebo oblasti, ve kterých se nacházejí dodavatelé, nemusí být vrácené výsledky jedinečné. Předpokládejme, že napíšete následující dotaz:
SELECT City, CountryRegion
FROM Production.Supplier
ORDER BY CountryRegion, City;
Tento dotaz může vrátit výsledky podobné následujícímu:
City
CountryRegion
Aurora
Kanada
Barrie
Kanada
Brampton
Kanada
Brossard
Kanada
Brossard
Kanada
Burnaby
Kanada
Burnaby
Kanada
Burnaby
Kanada
Calgary
Kanada
Calgary
Kanada
...
...
Ve výchozím nastavení klauzule SELECT obsahuje implicitní klíčové slovo ALL, které vede k tomuto chování:
SELECT ALL City, CountryRegion
FROM Production.Supplier
ORDER BY CountryRegion, City;
T-SQL také podporuje alternativní klíčové slovo DISTINCT, které odebere všechny duplicitní řádky výsledků:
SELECT DISTINCT City, CountryRegion
FROM Production.Supplier
ORDER BY CountryRegion, City;
Při použití funkce DISTINCT vrátí příklad pouze jednu z každé jedinečné kombinace hodnot v seznamu SELECT:
City
CountryRegion
Aurora
Kanada
Barrie
Kanada
Brampton
Kanada
Brossard
Kanada
Burnaby
Kanada
Calgary
Kanada
...
...