Resumo :neste tutorial, você aprenderá como usar o SQLite
SELECT DISTINCT
cláusula para remover linhas duplicadas no conjunto de resultados. Introdução ao SQLite SELECT DISTINCT
cláusula
O
DISTINCT
cláusula é uma cláusula opcional do SELECT
demonstração. O DISTINCT
A cláusula permite que você remova as linhas duplicadas no conjunto de resultados. A instrução a seguir ilustra a sintaxe do
DISTINCT
cláusula:SELECT DISTINCT select_list
FROM table;
Code language: SQL (Structured Query Language) (sql)
Nesta sintaxe:
- Primeiro, o
DISTINCT
A cláusula deve aparecer imediatamente após oSELECT
palavra-chave. - Segundo, você coloca uma coluna ou uma lista de colunas após o
DISTINCT
palavra-chave. Se você usar uma coluna, o SQLite usará valores nessa coluna para avaliar a duplicata. Caso você use várias colunas, o SQLite usa a combinação de valores dessas colunas para avaliar a duplicata.
SQLite considera
NULL
valores como duplicatas. Se você usar o DISTINCT
cláusula com uma coluna que tem NULL
valores, o SQLite manterá uma linha de um NULL
valor. Na teoria de banco de dados, se uma coluna contém
NULL
valores, isso significa que não temos as informações sobre essa coluna de registros específicos ou as informações não são aplicáveis. Por exemplo, se um cliente tiver um número de telefone com um
NULL
valor, significa que não temos informações sobre o número de telefone do cliente no momento do registro das informações do cliente ou o cliente pode não ter um número de telefone. SQLite SELECT DISTINCT
exemplos
Usaremos os
customers
tabela no banco de dados de exemplo para demonstração. Suponha que você queira saber as cidades onde os clientes se localizam, você pode usar o
SELECT
instrução para obter dados da city
coluna dos customers
tabela da seguinte forma:SELECT city
FROM customers
ORDER BY city;
Code language: SQL (Structured Query Language) (sql)
Tente
Ele retorna 59 linhas. Existem poucas linhas duplicadas, como
Berlin
London
e Mountain View
Para remover essas linhas duplicadas, você usa o DISTINCT
cláusula da seguinte forma:SELECT DISTINCT city
FROM customers
ORDER BY city;
Code language: SQL (Structured Query Language) (sql)
Tente
Ele retorna 53 linhas porque o
DISTINCT
cláusula removeu 6 linhas duplicadas. SQLite SELECT DISTINCT
em várias colunas
A declaração a seguir encontra cidades e países de todos os clientes.
SELECT
city,
country
FROM
customers
ORDER BY
country;
Code language: SQL (Structured Query Language) (sql)
Tente
O conjunto de resultados contém cidade e país duplicados, por exemplo, São Paulo no Brasil, conforme mostrado na captura de tela acima.
Para remover a cidade e o país duplicados, você aplica o
DISTINCT
cláusula para as colunas de cidade e país, conforme mostrado na consulta a seguir:SELECT DISTINCT
city,
country
FROM
customers
ORDER BY
country;
Code language: SQL (Structured Query Language) (sql)
Aqui está a saída parcial:
Como mencionado anteriormente, o SQLite usa a combinação de cidade e país para avaliar a duplicata.
SQLite SELECT DISTINCT
com NULL
exemplo
Esta declaração retorna os nomes das empresas dos clientes dos
customers
tabela. SELECT company
FROM customers;
Code language: SQL (Structured Query Language) (sql)
Tente
Ele retorna 59 linhas com muitos
NULL
valores. Agora, se você aplicar o
DISTINCT
cláusula à instrução, ela manterá apenas uma linha com um NULL
valor. Veja a seguinte declaração:
SELECT DISTINCT company
FROM customers;
Code language: SQL (Structured Query Language) (sql)
Tente
A instrução retorna 11 linhas com um
NULL
valor. Observe que, se você selecionar uma lista de colunas de uma tabela e quiser obter uma combinação exclusiva de algumas colunas, poderá usar o
GROUP BY
cláusula. Neste tutorial, você aprendeu como remover linhas duplicadas de um conjunto de resultados usando SQLite
SELECT DISTINCT
cláusula.