# 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](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/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](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/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:

<table>
  <thead>
    <tr>
      <th>SQL `SELECT DISTINCT`</th>
      <th>SQL `SELECT UNIQUE`</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Verifica registros completos para linhas e valores duplicados, remove redundâncias e retorna apenas resultados distintos e únicos.</td>
      <td>Serve para evitar a inserção de valores duplicados em tabelas e colunas selecionadas, restringindo colunas.</td>
    </tr>
    <tr>
      <td>É utilizado principalmente na análise, avaliação e comparação de registros para obter resultados únicos e significativos.</td>
      <td>É utilizado na criação e edição de tabelas para garantir melhor integridade dos dados sem redundâncias.</td>
    </tr>
  </tbody>
</table>

Dica Quer aprender rapidamente a linguagem de programação e bancos de dados? Nossa [introdução a SQL com exemplos](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/aprender-sql-com-exemplos/) apresenta as funções e fundamentos mais importantes de [SQL](https://www.ionos.com/pt-br/digitalguide/servidor/conhecimento/o-que-e-sql/).

## Sintaxe de SQL `SELECT DISTINCT`

A sintaxe básica do `SELECT DISTINCT` é a seguinte:

```sql
SELECT DISTINCT ColunaA, ColunaB, …
FROM tabela
```

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](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/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:

```sql
SELECT DISTINCT NomeCliente
FROM Pedidos
```

### 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:

```sql
SELECT DISTINCT NomeCliente, País
FROM Pedidos
WHERE País = 'Brasil'
```

## 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](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/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](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/sql-exists/), você verifica se valores e registros específicos existem em outra tabela.
- `COUNT`: Ao combinar `DISTINCT` com a função [SQL COUNT](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/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.


This is a markdown version of: [https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/sql-select-distinct/](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/sql-select-distinct/) for AI/LLM consumption.