Palabra clave DISTINCT en MySQL
La palabra clave DISTINCT
en MySQL se utiliza para eliminar registros duplicados de los resultados de una consulta SELECT
. Garantiza que la consulta devuelva sólo valores únicos en las columnas especificadas.
Utilización
La palabra clave DISTINCT
se emplea cuando quieres asegurarte de que los resultados de la consulta contienen sólo entradas únicas, eliminando cualquier fila duplicada. Se coloca directamente después de la palabra clave SELECT
.
SELECT DISTINCT column1, column2, ...
FROM table_name;
En esta sintaxis, DISTINCT
se aplica a la combinación de columna(s) especificada(s), garantizando que sólo se devuelvan combinaciones únicas de valores.
Ejemplos
1. Uso básico
SELECT DISTINCT country
FROM customers;
Esta consulta recupera una lista de países únicos de la tabla customers
, eliminando los duplicados.
2. Columnas múltiples
SELECT DISTINCT first_name, last_name
FROM employees;
En este ejemplo, la palabra clave DISTINCT
garantiza que la combinación de first_name
y last_name
sea única en los resultados, que aún pueden incluir filas con el mismo nombre pero apellidos diferentes, y viceversa.
3. Combinado con la cláusula WHERE
SELECT DISTINCT category
FROM products
WHERE price > 50;
Aquí, la palabra clave DISTINCT
se utiliza con una cláusula WHERE
para encontrar categorías de productos únicas en las que el precio sea superior a 50, lo que aumenta tanto la especificidad como la singularidad de los resultados.
4. Combinado con ORDER BY
SELECT DISTINCT department
FROM employees
ORDER BY department;
Este ejemplo demuestra el uso de DISTINCT
con ORDER BY
para recuperar nombres de departamentos únicos y mantener un orden específico en los resultados.
Consejos y buenas prácticas
- Utiliza DISTINTO con cuidado. Aunque
DISTINCT
elimina los duplicados, puede afectar al rendimiento, especialmente en grandes conjuntos de datos. - Aplícalo a las columnas necesarias. Utiliza
DISTINCT
sólo en las columnas en las que se requiera unicidad para evitar sobrecargas innecesarias. - Combínalo con
ORDER BY
. Cuando sea necesario, combinaDISTINCT
conORDER BY
para mantener un orden específico en los resultados. - Ten cuidado con los NULL.
DISTINCT
trata los valores deNULL
como iguales, por lo que sólo se devolverá unNULL
por cada combinación de columnas, lo que puede afectar a los resultados si hay variosNULL
s presentes en varias columnas.