🧠 Explicação
O DISTINCT
é usado para eliminar duplicidades no resultado de um SELECT
. Quando uma consulta retorna várias linhas com valores repetidos, o DISTINCT
garante que apenas valores únicos sejam exibidos. Ele funciona na lista de colunas e considera o conjunto completo delas pra determinar se uma linha é duplicada ou não.
🔧 Usos mais comuns
-
Listar valores únicos de uma coluna (ex.: cargos diferentes).
-
Obter combinações distintas de múltiplas colunas (ex.: cidade + estado).
-
Eliminar repetições em relatórios e exportações.
🧾 Sintaxe
SELECT DISTINCT coluna1 [, coluna2, ...]
FROM tabela;
💻 Exemplo prático
Obter todos os cargos diferentes cadastrados:
SELECT DISTINCT cargo
FROM empregados;
Mostrar todos os pares únicos de cidade e estado:
SELECT DISTINCT cidade, estado
FROM clientes;
📌 Regras
-
O
DISTINCT
afeta todas as colunas listadas noSELECT
. -
Se uma única coluna muda, a linha não é considerada duplicada.
-
Só pode ser usado uma vez por
SELECT
. -
Pode ser usado com
ORDER BY
,GROUP BY
eJOIN
.
💡 Dicas
-
Quer evitar
GROUP BY
? Se não precisar agregar nada, oDISTINCT
resolve. -
Evite usar
DISTINCT
pra esconder erro de lógica. Verifique sempre o motivo da duplicidade. -
Pode impactar performance em tabelas grandes — avalie o índice e o plano de execução.
-
Teste sempre com e sem
DISTINCT
pra entender a diferença no resultado.
✅ Conclusão
O DISTINCT
é o jeito direto e eficiente de remover repetições no resultado do SELECT
. É fundamental pra relatórios limpos e dados bem organizados. Quando usado com consciência, evita muita dor de cabeça com dados duplicados.