SQL SELECT DISTINCT: Remover valores duplicados de consultas de dados
Com o operador SQL SELECT DISTINCT, você garante que apenas linhas e registros únicos sejam retornados por resultados de consultas a bancos de dados. SELECT DISTINCT remove registros duplicados de linhas selecionadas, aumentando a precisão e facilitando análises de dados.
O que é SQL SELECT DISTINCT?
SELECT DISTINCT é um operador de processamento SQL usado em conjunto com o comando SQL SELECT. O comando SELECT seleciona uma ou mais colunas e registros em consultas de dados. Em combinação com o operador DISTINCT, você garante que seu resultado de consulta contenha apenas linhas únicas e distintas, removendo linhas e valores duplicados. Ao combinar SELECT DISTINCT com outros operadores SQL e comandos SQL, você pode adaptar suas consultas a requisitos individuais.
Diferença entre SQL SELECT DISTINCT e SELECT UNIQUE
Embora UNIQUE e DISTINCT sejam semelhantes em seu significado literal, eles desempenham funções diferentes como operadores SQL. Para aplicar corretamente o operador SQL SELECT DISTINCT, é importante entender como esses operadores se diferenciam:
SQL SELECT DISTINCT |
SQL SELECT UNIQUE |
|---|---|
| Verifica registros completos para linhas e valores duplicados, remove redundâncias e retorna apenas resultados distintos e únicos. | Serve para evitar a inserção de valores duplicados em tabelas e colunas selecionadas, restringindo colunas. |
| É utilizado principalmente na análise, avaliação e comparação de registros para obter resultados únicos e significativos. | É utilizado na criação e edição de tabelas para garantir melhor integridade dos dados sem redundâncias. |
Quer aprender rapidamente a linguagem de programação e bancos de dados? Nossa introdução a SQL com exemplos apresenta as funções e fundamentos mais importantes de SQL.
Sintaxe de SQL SELECT DISTINCT
A sintaxe básica do SELECT DISTINCT é a seguinte:
SELECT DISTINCT ColunaA, ColunaB, …
FROM tabelasqlEsses são os parâmetros utilizados:
SELECT DISTINCT: O comandoSELECTem combinação com o operadorDISTINCTseleciona as colunas das quais você deseja remover valores duplicados em um resultado.FROM: Seleciona a tabela na qual você deseja buscar valores duplicados.WHERE: Com a cláusula opcional SQL WHERE, você pode limitar a consulta de dados a valores relevantes usando condições adicionais.
Quando usar SQL SELECT DISTINCT
As possibilidades de consultas com SQL SELECT DISTINCT são praticamente ilimitadas. Você pode, por exemplo:
- Reduzir a apenas uma entrada única dados de clientes, pedidos, pacientes ou produtos que aparecem várias vezes em linhas.
- Contar o número de compras de produtos com base nos pedidos e IDs de produtos e exibi-los de forma única.
- Buscar dados únicos de pacientes ou clientes.
- Exibir todos os endereços de entrega ou fornecedores em uma região.
Exemplos de uso de SQL SELECT DISTINCT
Para ilustrar como o operador SQL SELECT DISTINCT funciona, apresentamos dois exemplos práticos.
Buscar todos os clientes
Você deseja buscar de forma única todos os clientes em uma tabela “Pedidos”, sem linhas duplicadas devido a múltiplos pedidos. Proceda da seguinte forma:
SELECT DISTINCT NomeCliente
FROM PedidossqlFiltrar clientes de uma determinada região
Com a cláusula WHERE, você pode refinar a análise dos dados dos clientes com condições adicionais. Por exemplo, se quiser buscar todos os nomes de clientes que são do Brasil na tabela “Pedidos”, proceda da seguinte forma:
SELECT DISTINCT NomeCliente, País
FROM Pedidos
WHERE País = 'Brasil'sqlAlternativas a SQL SELECT DISTINCT
Embora o SELECT DISTINCT seja uma maneira prática de remover duplicatas de consultas de dados, ele nem sempre é a melhor solução. Como o operador requer muitos recursos em grandes conjuntos de dados devido à comparação de cada coluna selecionada, é aconselhável escolher alternativas semelhantes. Entre elas estão:
GROUP BY: Com a cláusula SQL GROUP BY, você agrupa registros desejados a partir de colunas especificadas e os refina com funções e operadores adicionais.EXISTS: Com SQL EXISTS, você verifica se valores e registros específicos existem em outra tabela.COUNT: Ao combinarDISTINCTcom a função SQL COUNT, você pode contar valores únicos em colunas.SELECT+FROM+WHERE: Com uma subconsulta, ou seja, uma consulta aninhada dentro de outra consulta, você pode delimitar melhor seus resultados. Para isso, na subconsulta, selecione a coluna em questão comSELECT, defina comFROMem qual tabela a coluna se encontra e estabeleça comWHEREas condições que os resultados devem cumprir.

