Supprimer les doublons

Effectué

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

...

...