logo

Comment utiliser distinct en SQL ?

SQL DISTINCT La clause est utilisée pour supprimer les colonnes en double du jeu de résultats.

Le mot-clé distinct est utilisé conjointement avec le mot-clé select. Ceci est utile lorsque nous évitons les valeurs en double présentes dans le colonnes/tableaux . Le des valeurs uniques sont récupérés lorsque nous utilisons le mot-clé distinct.

  • SELECT DISTINCT renvoie uniquement distinct ( différent ) valeurs.
  • DISTINCT élimine les enregistrements en double de la table.
  • DISTINCT peut être utilisé avec des agrégats : COMPTE, MOYENNE, MAX , etc.
  • DISTINCT fonctionne sur une seule colonne.
  • Plusieurs colonnes ne sont pas prises en charge pour DISTINCT.

Syntaxe:

 SELECT DISTINCT expressions FROM tables [WHERE conditions]; 

Paramètres:

Expressions: Les colonnes ou calculs que nous souhaitons récupérer sont appelés expression.

Les tables: Les tables dont nous voulons récupérer les enregistrements. Il n'y a qu'une seule table dans la clause FROM.

OÙ conditions : Les conditions peuvent être remplies pour les enregistrements sélectionnés et c'est facultatif.

Note:

  • Lorsqu'une expression est fournie dans le DISTINCT clause, la requête renverra les valeurs uniques des expressions.
  • La requête récupérera les combinaisons uniques pour les expressions répertoriées si plusieurs expressions sont fournies dans le DISTINCT clause ici.
  • En SQL, le DISTINCT La clause ne peut pas ignorer les valeurs NULL. Ainsi, lorsque nous utilisons la clause DISTINCT dans l'instruction SQL, notre jeu de résultats inclura NULL comme valeur distincte.

Exemple:

Considérer ce qui suit EMPLOYÉS tableau.

java remplacer toute la chaîne
Comment utiliser distinct en SQL

Tout d’abord, voyons que la requête SELECT suivante renvoie les enregistrements de salaire en double.

 SQL> SELECT SALARY FROM EMPLOYEES ORDER BY SALARY; 

Lorsque nous exécutons la requête SQL ci-dessus, elle récupère tous les enregistrements, y compris les enregistrements en double. Dans le tableau ci-dessus, le salaire de Newton et Johnson est le même de 20 000.

Comment utiliser distinct en SQL

Maintenant, utilisons le DISTINCT mot-clé avec la requête SELECT ci-dessus.

 SQL> SELECT DISTINCT SALARY FROM EMPLOYEES ORDER BY SALARY; 

La requête SQL ci-dessus supprime les enregistrements en double et affiche le résultat suivant.

Comment utiliser distinct en SQL

Exemple : recherche de valeurs uniques dans la colonne

Examinez la clause DISTINCT pour rechercher les valeurs uniques dans une colonne du tableau.

Nous avons une table appelée Fournisseurs avec les données suivantes :

Comment utiliser distinct en SQL

À partir du tableau ci-dessus, nous allons trouver les états uniques.

 SELECT DISTINCT state FROM suppliers ORDER BY state; 

Ceux-ci sont six le enregistrements.

Comment utiliser distinct en SQL

L'exemple renvoie l'unique État depuis table des fournisseurs et supprime les enregistrements en double de l'ensemble de résultats.

Exemple : recherche de valeurs uniques dans plusieurs colonnes

Le SQL DISTINCT La clause est utilisée pour supprimer les enregistrements en double de nombreux champs de l'instruction SELECT.

Entrer le Instruction SQL :

 SELECT DISTINCT city, state FROM suppliers ORDER BY city, state; 

Sortir:

Il s'agit de 8 enregistrements :

Comment utiliser distinct en SQL

L'exemple renvoie chaque unique ville et état combinaison. Nous voyons le Ville de séquoia et Californie , apparaît dans le jeu de résultats.

Exemple : la clause DISTINCT gère les valeurs NULL

La clause DISTINCT considère NUL à la valeur unique dans SQL . Nous avons une table appelée des produits qui contient les données ci-dessous.

cpp est égal
Comment utiliser distinct en SQL

Sélectionnez les valeurs uniques dans le champ fruit_id qui contient la valeur nulle. Entrez le ci-dessous SQL syntaxe:

 SELECT DISTINCT fruit_id FROM fruits ORDER BY category_id; 

Quatre enregistrements sont sélectionnés. Voici les résultats que nous voyons ci-dessous :

Comment utiliser distinct en SQL

Dans l'exemple ci-dessus, la requête renvoie les valeurs uniques qui se trouvent dans le id_catégorie colonne. Nous voyons par la première ligne du jeu de résultats, NUL est une valeur exceptionnelle qui est restituée par le DISTINCT clause.