Palavra-chave MySQL DISTINCT
A palavra-chave DISTINCT no MySQL é usada para remover registros duplicados dos resultados de uma consulta SELECT. Isso garante que a consulta retorne apenas valores exclusivos nas colunas especificadas.
Uso
A palavra-chave DISTINCT é empregada quando você deseja garantir que os resultados da consulta contenham apenas entradas exclusivas, eliminando quaisquer linhas duplicadas. Ela é colocada diretamente após a palavra-chave SELECT.
SELECT DISTINCT column1, column2, ...
FROM table_name;
Nessa sintaxe, DISTINCT é aplicado à combinação de coluna(s) especificada(s), garantindo que apenas combinações exclusivas de valores sejam retornadas.
Exemplos
1. Uso básico
SELECT DISTINCT country
FROM customers;
Essa consulta recupera uma lista de países exclusivos da tabela customers, eliminando as duplicatas.
2. Várias colunas
SELECT DISTINCT first_name, last_name
FROM employees;
Neste exemplo, a palavra-chave DISTINCT garante que a combinação de first_name e last_name seja exclusiva nos resultados, que ainda podem incluir linhas com o mesmo nome, mas sobrenomes diferentes e vice-versa.
3. Combinado com a cláusula WHERE
SELECT DISTINCT category
FROM products
WHERE price > 50;
Aqui, a palavra-chave DISTINCT é usada com uma cláusula WHERE para encontrar categorias de produtos exclusivas em que o preço é maior que 50, aumentando a especificidade e a exclusividade dos resultados.
4. Combinado com ORDER BY
SELECT DISTINCT department
FROM employees
ORDER BY department;
Este exemplo demonstra como usar DISTINCT com ORDER BY para recuperar nomes de departamentos exclusivos e manter uma ordem específica nos resultados.
Dicas e práticas recomendadas
- Use o DISTINCT com cuidado. Embora o
DISTINCTremova as duplicatas, ele pode afetar o desempenho, especialmente em grandes conjuntos de dados. - Aplicar às colunas necessárias. Use
DISTINCTsomente nas colunas em que a exclusividade é necessária para evitar sobrecarga desnecessária. - Combine com
ORDER BY. Quando necessário, combineDISTINCTcomORDER BYpara manter uma ordem específica nos resultados. - Esteja ciente dos NULLs. O site
DISTINCTtrata os valores deNULLcomo iguais, portanto, apenas umNULLserá retornado para cada combinação de colunas, o que pode afetar os resultados se váriosNULLs estiverem presentes em várias colunas.