Supprimer les doublons
Bien que les lignes d’une table doivent toujours être uniques, lorsque vous sélectionnez seulement un sous-ensemble des colonnes, les lignes de résultats peuvent ne pas être uniques, même si les lignes d’origine le sont. Par exemple, vous pouvez avoir une table de fournisseurs dont la ville et l’État (ou la province) sont uniques, de sorte qu’il n’y aura jamais plus d’un fournisseur dans une ville donnée. Toutefois, si vous souhaitez simplement afficher les villes et pays/régions où les fournisseurs sont situés, les résultats retournés peuvent ne pas être uniques. Supposons que vous écriviez la requête suivante :
SELECT City, CountryRegion
FROM Production.Supplier
ORDER BY CountryRegion, City;
Cette requête génère des résultats similaires à ce qui suit :
City
CountryRegion
Aurora
Canada
Barrie
Canada
Brampton
Canada
Brossard
Canada
Brossard
Canada
Burnaby
Canada
Burnaby
Canada
Burnaby
Canada
Calgary
Canada
Calgary
Canada
...
...
Par défaut, la clause SELECT comprend un mot clé ALL implicite qui entraîne ce comportement :
SELECT ALL City, CountryRegion
FROM Production.Supplier
ORDER BY CountryRegion, City;
T-SQL prend également en charge une alternative au mot clé DISTINCT, qui supprime toutes les lignes de résultat en double :
SELECT DISTINCT City, CountryRegion
FROM Production.Supplier
ORDER BY CountryRegion, City;
Lors de l’utilisation de DISTINCT, l’exemple retourne une seule des valeurs de chaque combinaison unique de valeurs dans la liste SELECT :
City
CountryRegion
Aurora
Canada
Barrie
Canada
Brampton
Canada
Brossard
Canada
Burnaby
Canada
Calgary
Canada
...
...