logo oujood
🔍

Comment utiliser l'instruction SQL DISTINCT pour renvoyer un jeu de résultats sans doublons

OUJOOD.COM

Introduction la clause SQL DISTINCT

La clause SQL DISTINCT est utilisée pour supprimer les doublons des résultats d'une requête SELECT. Par défaut, la clause SELECT renvoie toutes les lignes d'une table, même si elles contiennent des valeurs identiques. La clause DISTINCT permet d'éliminer ces doublons et de renvoyer uniquement les lignes uniques.

Syntaxe

La syntaxe de la clause DISTINCT est la suivante :

 
SELECT DISTINCT column1, column2, ...
FROM table;

La clause DISTINCT doit être placée immédiatement après le mot-clé SELECT. Les colonnes spécifiées après la clause DISTINCT doivent être des colonnes de la table spécifiée après le mot-clé FROM.

Exemples pratiques

Voici quelques exemples d'utilisation de la clause DISTINCT :

Exemple :     📋 Copier le code

-- Afficher les pays uniques
SELECT DISTINCT country
FROM customers;

-- Afficher les villes uniques pour chaque pays
SELECT country, DISTINCT city
FROM customers;

-- Afficher les produits uniques et leur prix
SELECT DISTINCT product_id, price
FROM products;

Dans le premier exemple, la clause DISTINCT est utilisée pour renvoyer une liste des pays uniques présents dans la table customers. Dans le deuxième exemple, la clause DISTINCT est utilisée pour renvoyer une liste des villes uniques pour chaque pays présent dans la table customers. Dans le troisième exemple, la clause DISTINCT est utilisée pour renvoyer une liste des produits uniques présents dans la table products, ainsi que leur prix.

Pour renvoyer une liste unique des noms de pays et des continents d'une table nommée countries:

Exemple :     📋 Copier le code

SELECT DISTINCT country, continent
FROM countries;

Dans cet exemple, le mot-clé "DISTINCT" est utilisé pour s'assurer que seules les valeurs distinctes des colonnes spécifiées (dans ce cas, "country" et "continent") sont renvoyées. Cela signifie que si la table contient plusieurs lignes avec le même pays et continent, seules les combinaisons uniques de pays et continent seront incluses dans le résultat.

Ainsi, le résultat de cette requête serait une liste de toutes les combinaisons uniques de pays et de continents qui se trouvent dans la table "countries". Cette requête est utile lorsque vous souhaitez obtenir une liste de tous les pays distincts présents dans une table, associés à leurs continents respectifs.

Astuces et conseils

  • La clause DISTINCT peut être utilisée avec n'importe quel nombre de colonnes.
  • La clause DISTINCT peut être utilisée avec la clause ORDER BY pour trier les résultats par ordre croissant ou décroissant.
  • La clause DISTINCT peut être utilisée avec la clause GROUP BY pour regrouper les résultats par valeur.

Conclusion

La clause SQL DISTINCT est un outil précieux pour supprimer les doublons des résultats d'une requête SELECT. Elle est utilisée dans de nombreux cas, tels que l'affichage d'une liste de valeurs uniques, le comptage de valeurs uniques ou le regroupement de valeurs uniques.