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.
Dica

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 tabela
sql

Esses são os parâmetros utilizados:

  • SELECT DISTINCT: O comando SELECT em combinação com o operador DISTINCT seleciona 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 Pedidos
sql

Filtrar 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'
sql

Alternativas 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 combinar DISTINCT com 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 com SELECT, defina com FROM em qual tabela a coluna se encontra e estabeleça com WHERE as condições que os resultados devem cumprir.
Este artigo foi útil?
Ir para o menu principal