SQL - Mot-clé distinct

Le SQL DISTINCT Le mot-clé est utilisé conjointement avec l'instruction SELECT pour éliminer tous les enregistrements en double et récupérer uniquement les enregistrements uniques.

Il peut y avoir une situation où vous avez plusieurs enregistrements en double dans une table. Lors de la récupération de tels enregistrements, il est plus judicieux de récupérer uniquement ces enregistrements uniques au lieu de récupérer des enregistrements en double.

Syntaxe

La syntaxe de base du mot clé DISTINCT pour éliminer les enregistrements en double est la suivante:

SELECT DISTINCT column1, column2,.....columnN 
FROM table_name
WHERE [condition]

Exemple

Considérez la table CUSTOMERS ayant les enregistrements suivants -

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

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

SQL> SELECT SALARY FROM CUSTOMERS
   ORDER BY SALARY;

Cela produirait le résultat suivant, où le salaire (2000) vient deux fois, ce qui est un enregistrement en double de la table d'origine.

+----------+
| SALARY   |
+----------+
|  1500.00 |
|  2000.00 |
|  2000.00 |
|  4500.00 |
|  6500.00 |
|  8500.00 |
| 10000.00 |
+----------+

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

SQL> SELECT DISTINCT SALARY FROM CUSTOMERS
   ORDER BY SALARY;

Cela produirait le résultat suivant où nous n'avons aucune entrée en double.

+----------+
| SALARY   |
+----------+
|  1500.00 |
|  2000.00 |
|  4500.00 |
|  6500.00 |
|  8500.00 |
| 10000.00 |
+----------+