Problema:
Você gostaria de exibir registros não duplicados em SQL.
Exemplo:
Nosso banco de dados tem uma tabela chamada
City com dados nas colunas id , name e country . | id | nome | país |
|---|---|---|
| 1 | Madri | Espanha |
| 2 | Barcelona | Espanha |
| 3 | Varsóvia | Polônia |
| 4 | Cracóvia | Polônia |
Vamos pegar os nomes dos países sem duplicatas.
Solução:
Usaremos a palavra-chave
DISTINCT . Segue a consulta:SELECT DISTINCT country FROM City;
Segue o resultado da consulta:
| país |
|---|
| Espanha |
| Polônia |
Discussão:
Se você quiser que a consulta retorne apenas linhas exclusivas, use a palavra-chave
DISTINCT após SELECT . DISTINCT pode ser usado para buscar linhas exclusivas de uma ou mais colunas. Você precisa listar as colunas após o DISTINCT palavra-chave. Como funciona sob o capô? Quando a consulta é executada, todo o conjunto de dados é selecionado primeiro, depois
DISTINCT remove as linhas duplicadas dadas as colunas selecionadas. Em nosso exemplo, Espanha e Polônia aparecem duas vezes na tabela. No entanto, após aplicar a palavra-chave
DISTINCT , cada um deles é retornado apenas uma vez.