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
DISTINCT
remova as duplicatas, ele pode afetar o desempenho, especialmente em grandes conjuntos de dados. - Aplicar às colunas necessárias. Use
DISTINCT
somente nas colunas em que a exclusividade é necessária para evitar sobrecarga desnecessária. - Combine com
ORDER BY
. Quando necessário, combineDISTINCT
comORDER BY
para manter uma ordem específica nos resultados. - Esteja ciente dos NULLs. O site
DISTINCT
trata os valores deNULL
como iguais, portanto, apenas umNULL
será retornado para cada combinação de colunas, o que pode afetar os resultados se váriosNULL
s estiverem presentes em várias colunas.