Skip to content

DISTINCT – Supprimer les doublons

Bonne lecture et bon apprentissage !
Junior TSAFACK – 08/08/2026
⏱️ Temps de lecture estimé : 4 minutes


L’utilisation de la commande SELECT en SQL permet de lire toutes les données d’une ou plusieurs colonnes. Cette commande peut potentiellement afficher des lignes en doubles. Pour éviter des redondances dans les résultats, il suffit d’ajouter DISTINCT après le mot SELECT.


L’utilisation basique de cette commande consiste à effectuer la requête suivante :

SELECT DISTINCT ma_colonne FROM nom_du_tableau

Cette requête sélectionne le champ « ma_colonne » de la table « nom_du_tableau » en évitant de retourner des doublons.

Requête pour Oracle :
Pour le Système de Gestion de Bases de Données (SGBD) Oracle, cette requête peut être remplacée par la commande UNIQUE :

SELECT UNIQUE ma_colonne FROM nom_du_tableau

Prenons le cas concret d’une table « client » qui contient des noms et prénoms :

identifiant prenom nom
1 Pierre Dupond
2 Sabrina Bernard
3 David Durand
4 Pierre Leroy
5 Marie Leroy

En utilisant seulement SELECT, tous les noms sont retournés. Or, la table contient plusieurs fois le même prénom (ex. Pierre).

Pour sélectionner uniquement les prénoms uniques, il faut utiliser la requête suivante :

SELECT DISTINCT prenom FROM client

Résultat :

prenom
Pierre
Sabrina
David
Marie

Ce résultat affiche volontairement qu’une seule fois le prénom « Pierre » grâce à l’utilisation de la commande DISTINCT, qui n’affiche que les résultats distincts.


L’utilisation de la commande DISTINCT est très pratique pour éviter les résultats en doubles. Elle est particulièrement utile dans les cas suivants :

  • Lorsque vous interrogez une colonne qui contient de nombreuses valeurs répétées (exemple : les villes des clients).
  • Pour obtenir une liste unique de catégories, de statuts ou de toute autre donnée non unique.
  • Pour préparer des données avant une analyse statistique.

Cependant, pour optimiser les performances, il est préférable d’utiliser la commande GROUP BY lorsque c’est possible. En effet, GROUP BY peut être plus efficace sur de grands volumes de données, car il permet également d’effectuer des opérations d’agrégation en une seule passe.

Exemple alternatif avec GROUP BY :

SELECT prenom FROM client GROUP BY prenom

Cette requête retourne exactement le même résultat que DISTINCT dans cet exemple simple. Nous étudierons GROUP BY en détail dans un chapitre dédié.


Vous savez désormais comment éliminer les doublons avec DISTINCT. Mais que faire si vous souhaitez renommer temporairement une colonne pour rendre vos résultats plus lisibles ?

👉 Chapitre 4 : ALIAS – Renommer temporairement

Bonne continuation !


Junior TSAFACK – 08/08/2026