Avec SQL SELECT DISTINCT, vous vous assurez que les requêtes de données ne con­tien­nent que des en­re­gis­tre­ments et des lignes uniques dans les résultats. SELECT DISTINCT supprime les doublons des en­re­gis­tre­ments et lignes sé­lec­tion­nés et optimise la précision et la clarté de votre analyse de données.

Qu’est-ce que SQL SELECT DISTINCT ?

SELECT DISTINCT est un opérateur de trai­te­ment SQL qui est utilisé en com­bi­nai­son avec la commande SQL SELECT. La commande SELECT sé­lec­tionne une ou plusieurs colonnes et en­re­gis­tre­ments dans les requêtes de données. En com­bi­nai­son avec l’opérateur DISTINCT, vous vous assurez qu’il n’y a que des lignes uniques et dif­fé­rentes dans le résultat de votre requête et que les lignes et valeurs en double sont sup­pri­mées. En combinant SELECT DISTINCT avec d’autres opé­ra­teurs SQL et commandes SQL, vous pouvez per­son­na­li­ser vos requêtes selon vos besoins.

Dif­fé­rence entre SQL SELECT DISTINCT et SELECT UNIQUE

UNIQUE et DISTINCT se res­semblent dans leur sig­ni­fi­ca­tion, mais rem­plis­sent des fonctions dif­fé­rentes en tant qu’opé­ra­teurs SQL. Pour utiliser cor­rec­te­ment SQL SELECT DISTINCT, vous devez donc savoir comment les deux opé­ra­teurs se dis­tin­guent :

SQL SELECT DISTINCT SQL SELECT UNIQUE
Vérifie les doublons de lignes et de valeurs dans des en­re­gis­tre­ments entiers, élimine les re­don­dances et ne renvoie que des résultats distincts et uniques dans les résultats Convient pour empêcher la saisie de doublons et de valeurs doubles dans des tables et des colonnes sé­lec­tion­nées en limitant les colonnes
Utilisé prin­ci­pa­le­ment pour l’éva­lua­tion, l’analyse et la com­pa­rai­son d’ensembles de données afin d’obtenir des résultats clairs et sig­ni­fi­ca­tifs Utilisé pour la création et la mo­di­fi­ca­tion de tableaux afin de garantir une meilleure intégrité des données sans re­don­dance
Conseil

Vous souhaitez vous initier ra­pi­de­ment au langage de pro­gram­ma­tion et de base de données SQL ? Notre in­tro­duc­tion à SQL avec exemples vous révèle les prin­ci­pales fonctions et les bases de SQL.

Syntaxe de SELECT DISTINCT

La syntaxe de SELECT DISTINCT se présente comme suit :

SELECT DISTINCT colonneA, colonneB, ...
FROM Table;
sql

Voici les dif­fé­rents pa­ra­mètres utilisés :

  • SELECT DISTINCT : la commande SELECT combinée à l’opérateur DISTINCT sé­lec­tionne les colonnes dont vous voulez supprimer les doublons dans votre résultat.
  • FROM : sé­lec­tionne la table dans laquelle vous voulez re­cher­cher les doublons dans les colonnes.
  • WHERE : la clause op­tion­nelle SQL WHERE vous permet de limiter la recherche de données aux valeurs per­ti­nentes en ajoutant des con­di­tions sup­plé­men­taires.

Ap­pli­ca­tions de SELECT DISTINCT

Les pos­si­bi­li­tés d’uti­li­sa­tion des requêtes avec SQL SELECT DISTINCT sont presque il­li­mi­tées. Vous pouvez par exemple :

  • Réduire les données de clients, de commandes, de patients ou de produits qui ap­pa­rais­sent plusieurs fois dans des lignes à une entrée unique.
  • Compter le nombre d’achats de produits à l’aide des commandes et de l’ID de produit et les présenter de manière univoque.
  • Récupérer les données uniques des patients ou des clients.
  • Afficher toutes les adresses de livraison ou tous les four­nis­seurs d’une région.

Exemples pratiques de SQL SELECT DISTINCT

Pour illustrer le fonc­tion­ne­ment de SQL SELECT DISTINCT, voici deux exemples pratiques.

Récupérer tous les clients

Vous souhaitez récupérer de manière univoque tous les clients et clientes d’une table « Commandes », sans lignes doubles dues à des commandes multiples. Procédez comme suit :

SELECT DISTINCT Nom du client
FROM Commandes
sql

Filtrer les clients d’une région donnée

La clause WHERE vous permet de définir plus pré­ci­sé­ment l’analyse des données clients par des con­di­tions sup­plé­men­taires. Par exemple, si vous souhaitez récupérer dans le tableau « Commandes » tous les noms de clients qui pro­vien­nent de France, procédez comme suit :

SELECT DISTINCT Noms de clients, Pays
FROM Commandes 
WHERE Pays = 'France'
sql

Al­ter­na­tives à SQL SELECT DISTINCT

Bien que SELECT DISTINCT soit un moyen pratique de supprimer les doublons dans les requêtes de données, DISTINCT n’est pas toujours la meilleure solution. Comme l’opérateur nécessite re­la­ti­ve­ment beaucoup de res­sources pour comparer chaque colonne sé­lec­tion­née dans les grands ensembles de données, il est pré­fé­rable de choisir des al­ter­na­tives avec une fonction similaire. Il s’agit notamment de :

  • GROUP BY : avec la clause SQL GROUP BY, vous regroupez les en­re­gis­tre­ments souhaités des colonnes indiquées et les précisez avec d’autres fonctions et opé­ra­teurs.
  • EXISTS : avec SQL EXISTS, vous vérifiez si des valeurs et des en­re­gis­tre­ments spé­ci­fiques existent dans une autre table.
  • COUNT : en combinant DISTINCT avec la fonction SQLCOUNT, vous pouvez compter des valeurs uniques dans des colonnes.
  • SELECT + FROM + WHERE : avec une sous-requête, c’est-à-dire une requête imbriquée dans une autre requête, vous pouvez mieux limiter vos résultats. Pour cela, sé­lec­tion­nez la colonne concernée dans la sous-requête avec SELECT, dé­fi­nis­sez avec FROM dans quelle table se trouve la colonne et dé­ter­mi­nez avec WHERE les con­di­tions aux­quelles les résultats doivent répondre.
Aller au menu principal