Résumé : dans ce tutoriel, vous apprendrez à utiliser l’instruction Oracle SELECT DISTINCT
pour interroger des données distinctes à partir de tables.
Introduction à l’instruction Oracle SELECT DISTINCT
La clause DISTINCT
est utilisée dans une instruction SELECT
pour filtrer les lignes en double dans le jeu de résultats. Elle garantit que les lignes renvoyées sont uniques pour la ou les colonnes spécifiées dans la clause SELECT
.
La syntaxe de l’instruction SELECT DISTINCT
est illustrée ci-dessous :
Dans cette instruction, les valeurs dans la column_1
de la table
sont comparées pour déterminer les doublons.
Pour récupérer des données uniques basées sur plusieurs colonnes, il suffit de spécifier la liste des colonnes dans la clause SELECT
comme suit :
Dans cette syntaxe, la combinaison des valeurs dans les column_1
, column_2
et column_3
sont utilisées pour déterminer l’unicité des données.
La clause DISTINCT
ne peut être utilisée que dans l’instruction SELECT
.
Notez que DISTINCT
est synonyme de UNIQUE
qui n’est pas la norme SQL. C’est une bonne pratique de toujours utiliser DISTINCT
au lieu de UNIQUE
.
Oracle SELECT DISTINCT exemples
Regardons quelques exemples d’utilisation de SELECT DISTINCT
pour voir comment cela fonctionne.
A) Oracle SELECT DISTINCT un exemple de colonne
Voyez la table contacts
dans la base de données exemple:
L’exemple suivant récupère tous les prénoms des contacts:
La requête a retourné 319 lignes, indiquant que la table contacts
a 319 lignes.
Pour obtenir des prénoms de contact uniques, vous ajoutez le mot clé DISTINCT
à l’instruction SELECT
ci-dessus comme suit :
Maintenant, le jeu de résultats compte 302 lignes, ce qui signifie que 17 lignes en double ont été supprimées.
B) Exemple de colonnes multiples d’Oracle SELECT DISTINCT
Voir la table order_items
suivante:
L’instruction suivante sélectionne l’id et la quantité du produit distincts dans la table order_items
:
La suite illustre le résultat:
Dans cet exemple, les deux valeurs les colonnes product_id
et quantity
sont utilisées pour évaluer l’unicité des lignes dans le jeu de résultats.
C) Oracle SELECT DISTINCT et NULL
La DISTINCT
traite les valeurs NULL comme des doublons les unes des autres. Si vous utilisez l’instruction SELECT DISTINCT
pour interroger les données d’une colonne qui a de nombreuses valeurs NULL, le jeu de résultats ne comprendra qu’une seule valeur NULL.
Voir la table locations
dans la base de données exemple.
L’instruction suivante récupère les données de la colonne état, qui a de nombreuses valeurs NULL:
Résultat:
Comme vous pouvez le voir, une seule valeur NULL est retournée.
Notez que si vous voulez appliquer l’instruction DISTINCT
à certaines colonnes, tout en sautant d’autres colonnes, vous devez utiliser la clause GROUP BY
à la place.
Dans ce tutoriel, vous avez appris à utiliser l’instruction SELECT DISTINCT
pour obtenir des données uniques basées sur une ou plusieurs colonnes.
- Ce tutoriel vous a-t-il été utile ?
- OuiNon
.