SQL - palavra-chave distinta

O SQL DISTINCT A palavra-chave é usada em conjunto com a instrução SELECT para eliminar todos os registros duplicados e buscar apenas registros únicos.

Pode haver uma situação em que você tenha vários registros duplicados em uma tabela. Ao buscar tais registros, faz mais sentido buscar apenas aqueles registros únicos em vez de buscar registros duplicados.

Sintaxe

A sintaxe básica da palavra-chave DISTINCT para eliminar os registros duplicados é a seguinte -

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

Exemplo

Considere a tabela CLIENTES com os seguintes registros -

+----+----------+-----+-----------+----------+
| 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 |
+----+----------+-----+-----------+----------+

Primeiro, vamos ver como a seguinte consulta SELECT retorna os registros de salário duplicados.

SQL> SELECT SALARY FROM CUSTOMERS
   ORDER BY SALARY;

Isso produziria o seguinte resultado, onde o salário (2000) vem duas vezes, o que é um registro duplicado da tabela original.

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

Agora, vamos usar a palavra-chave DISTINCT com a consulta SELECT acima e ver o resultado.

SQL> SELECT DISTINCT SALARY FROM CUSTOMERS
   ORDER BY SALARY;

Isso produziria o seguinte resultado, onde não temos nenhuma entrada duplicada.

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