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 :
- FROM
- WHERE
- SELECT
- DISTINCT
DISTINCT s’applique après la sélection des colonne.