SQL DISTINCT : Comment utiliser cette requête ?

-
2
 m de lecture
-

Si la commande SELECT est l’une des plus couramment utilisées pour lire les données d’un tableau, elle présente quelques lacunes si elle est utilisée toute seule. C’est pourquoi, d’autres commandes lui sont associées. Ces combinaisons permettent ainsi d’affiner les résultats. Et notamment la commande SQL DISTINCT qui supprime les doublons au sein d’une Base de Donnée MySQL.

Qu'est ce que SQL DISTINCT ?

La requête SQL DISTINCT permet de limiter les doublons. En effet, lorsque vous utilisez la commande d’instruction SELECT, vous pouvez sélectionner une ou plusieurs colonnes de la table. Mais à l’intérieur de ces colonnes, il peut y avoir des lignes en double. Pour éviter cela, vous devez ajouter DISTINCT à la requête SELECT. Ce faisant, toutes les redondances sont éliminées. 

Concrètement, cette commande se présente comme suit : 

SELECT DISTINCT nom_de_la_colonne

FROM nom_du_tableau

Vous pouvez utiliser cette commande sur une seule colonne ou sur un ensemble de colonnes liées. 

Bon à savoir : si vous utilisez un système de gestion de base de données Oracle, il ne faudra pas utiliser la commande SQL DISTINCT, mais la commande UNIQUE. 

3 exemples d’utilisation de SQL DISTINCT

Pour vous aider à mieux comprendre comment utiliser la requête SQL DISTINCT, voici 3  exemples d’application concrets. 

La requête SELECT DISTINCT pour une colonne unique

C’est l’utilisation basique de la requête SQL DISTINCT. 

Dans notre exemple, vous disposez d’un tableau avec l’intégralité de vos clients, dont plusieurs appartiennent à la même famille (nom de famille identique).

Voici votre tableau :

ID Prénom Nom
1 Pierre Dupont
2 Jeanne Martin
3 Henri Durand
4 Bertrand Petit
5 Martine Dupont

Si vous souhaitez afficher seulement les familles uniques, voici la requête à utiliser : SELECT DISTINCT nom FROM client

Et voici le résultat : 

Nom
Dupont
Martin
Durand
Petit

Ici, le nom Dupond n’est affiché qu’une seule fois (contre deux fois dans le premier tableau).

La requête SELECT DISTINCT pour plusieurs colonnes

Comme mentionné précédemment, la commande DISTINCT peut aussi être utilisée pour plusieurs colonnes. 

Reprenons un exemple de table Client similaire :

ID Prénom Nom
1 Martine Dupont
2 Jeanne Martin
3 Henry Durand
4 Bertrand Petit
5 Martine Dupont
6 Antoine Martin
7 Fabienne Bernard
8 Christelle Robert
9 Henri Durand

Si vous souhaitez afficher seulement les familles uniques, voici la requête à utiliser : SELECT DISTINCT prénom nom FROM client

Et voici le résultat :

Prénom Nom
Martine Dupon
Jeanne Martin
Henri Durand
Bertrand Petit
Antoine Martin
Fabienne Bernard
Christelle Robert

Dans ce cas, les lignes Martine Dupont et Henry Durand ont été éliminées.

Le nombre de valeurs uniques

Si vous souhaitez savoir combien de valeur unique comporte votre tableau, il suffit de réaliser la manipulation suivante : 

SELECT COUNT(DISTINCT nom) AS Nombre FROM Client

Le plus souvent, la requête SQL DISTINCT est utilisée avec la commande COUNT pour compter des valeurs. Mais il est possible d’ajouter d’autres agrégations en fonction de vos besoins. Cela vous permettra de réaliser différentes opérations mathématiques ou statistiques, sans prendre en compte les doublons.

Les alternatives à SQL DISTINCT

Pour éliminer les doublons, il est possible d’utiliser d’autres commandes. Et notamment GROUP BY / ORDER BY. 

Dans ce cadre, la requête est la suivante : 

SELECT nom, Prenom FROM `Client` GROUP BY nom, Prenom ORDER BY nom, Prenom

Le résultat est exactement le même qu’avec la requête : SELECT DISTINCT prénom nom FROM client.

Maitrisez le langage SQL avec DataScientest

Le langage de programmation SQL regorge de requêtes indispensables pour manipuler les données. Si vous souhaitez approfondir vos connaissances en la matière, n’hésitez pas à rejoindre nos formations chez Datascientest. Orientées métiers, ces formations vous permettent d’être 100 % opérationnel à la fin du cursus.

Facebook
Twitter
LinkedIn

DataScientest News

Inscrivez-vous à notre Newsletter pour recevoir nos guides, tutoriels, et les dernières actualités data directement dans votre boîte mail.

Vous souhaitez être alerté des nouveaux contenus en data science et intelligence artificielle ?

Laissez-nous votre e-mail, pour que nous puissions vous envoyer vos nouveaux articles au moment de leur publication !

Newsletter icone
icon newsletter

DataNews

Vous souhaitez recevoir notre
newsletter Data hebdomadaire ?