Oracle SELECT DISTINCT

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

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.