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 faut simplement ajouter DISTINCT après le mot SELECT.
Commande basique
L’utilisation basique de cette commande consiste alors à 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 est remplacée par la commande “UNIQUE”:
SELECT UNIQUE ma_colonne FROM nom_du_tableau
Exemple
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 (cf. Pierre). Pour sélectionner uniquement les prénoms uniques il faut utiliser la requête suivante:
SELECT DISTINCT prenom FROM client
Cette requête va retourner les champs suivants:
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.
Intérêt
L’utilisation de la commande DISTINCT est très pratique pour éviter les résultats en doubles. Cependant, pour optimiser les performances il est préférable d’utiliser la commande SQL GROUP BY lorsque c’est possible.