📝 Ce que vous apprendrez

  • Que fait SELECT DISTINCT ?
  • Syntaxe et structure
  • Comment il supprime les lignes en double
  • Exemples concrets
  • Les points à surveiller

✨ Qu'est-ce que SELECT DISTINCT ?

L'instruction SELECT DISTINCT est utilisée pour récupérer uniquement les valeurs uniques (différentes) d'une table. Elle élimine les rangs en double dans le jeu de résultats.

Cette fonction est particulièrement utile lorsque vous analysez des catégories, des étiquettes, des pays ou tout autre ensemble de données susceptible de contenir des doublons.

🧱 Syntaxe

SELECT DISTINCT column1, column2
FROM table_name;
  • DISTINCT vient juste après SELECT
  • Il s'applique à toutes les colonnes sélectionnées

🔄 Comment ça marche

Supposons que vous ayez une table customers avec les données suivantes :

nom pays
Alice
Bob Canada
Alice
Charlie Canada

Si vous courez :

SELECT DISTINCT name
FROM customers;

Résultat :

Alice
Bob
Charlie

Il supprime les noms en double.

Mais si vous courez :

SELECT DISTINCT name, country
FROM customers;

Résultat :

Alice   | USA  
Bob     | Canada  
Charlie | Canada  

Ici, le DISTINCT s'applique à la combinaison de name et country.

📊 Exemples de cas d'utilisation

Pays uniques dans un tableau

SELECT DISTINCT country
FROM customers;

Catégories de produits uniques

SELECT DISTINCT category
FROM products;

Combinaisons uniques de département et de rôle

SELECT DISTINCT department, role
FROM employees;

⚠️ Conseils et astuces

  • DISTINCT s'applique à toute la ligne - pas seulement à une colonne
  • Il peut être lent sur de grands ensembles de données (surtout sans index)
  • Ne le confondez pas avec GROUP BY - ils peuvent parfois obtenir des résultats similaires, mais ont des objectifs différents.

📘 Recap

  • Utilisez SELECT DISTINCT pour retourner des lignes uniques dans votre résultat.
  • Il permet de supprimer les doublons de vos requêtes.
  • N'oubliez pas qu'il s'applique à toutes les colonnes sélectionnées
  • Il est pratique pour les résumés, les filtres et les tableaux de bord.