Aller au contenu

La clause DISTINCT dans un SELECT

La clause DISTINCT

Utilité

La clause DISTINCT permet d’éliminer les doublons dans les résultats d’une requête SELECT.

👉 Elle retourne uniquement les valeurs uniques.

Syntaxe

Le mot clé DISTINCT s'inscrit directement après SELECT :

SELECT DISTINCT colonne
FROM table;

Exemple

Supposons la table Employe :

idEmploye nom ville
1 Marie Québec
2 Paul Montréal
3 Sophie Québec
4 Marc Lévis

Requête sans DISTINCT :

SELECT ville
FROM Employe;

Résultat :

Québec
Montréal
Québec
Lévis

Requête avec DISTINCT :

SELECT DISTINCT ville
FROM Employe;

Résultat :

Québec
Montréal
Lévis

DISTINCT sur plusieurs colonnes

Si on utilise DISTINCT sur plusieurs colonnes, la combinaison complète doit être unique.

Exemple :

SELECT DISTINCT nom, ville
FROM Employe;

La combinaison (nom + ville) doit être unique, pas seulement une colonne individuellement.


✔ Puisqu'il s'exécute sur la combinaison des colonnes, DISTINCT n’est pas nécessaire si la clé primaire est sélectionnée (elle est déjà unique).

Ordre d'exécution

Puisque le DISTINCT vérifie si la combinaison des colonnes est unique, l'ordre d'exécution est donc :

  1. FROM
  2. WHERE
  3. SELECT
  4. DISTINCT

DISTINCT s’applique après la sélection des colonne.