SQL - Manejo de duplicados

Puede haber una situación en la que tenga varios registros duplicados en una tabla. Al buscar dichos registros, tiene más sentido buscar solo registros únicos en lugar de buscar registros duplicados.

El SQL DISTINCT La palabra clave, que ya hemos discutido, se usa junto con la instrucción SELECT para eliminar todos los registros duplicados y obteniendo solo los registros únicos.

Sintaxis

La sintaxis básica de una palabra clave DISTINCT para eliminar registros duplicados es la siguiente.

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

Ejemplo

Considere que la tabla CLIENTES tiene los siguientes 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 |
+----+----------+-----+-----------+----------+

Primero, veamos cómo la siguiente consulta SELECT devuelve registros de salario duplicados.

SQL> SELECT SALARY FROM CUSTOMERS
   ORDER BY SALARY;

Esto produciría el siguiente resultado donde el salario de 2000 se duplica, lo cual es un registro duplicado de la tabla original.

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

Ahora, usemos la palabra clave DISTINCT con la consulta SELECT anterior y veamos el resultado.

SQL> SELECT DISTINCT SALARY FROM CUSTOMERS
   ORDER BY SALARY;

Esto produciría el siguiente resultado donde no tenemos ninguna entrada duplicada.

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