Este tutorial SQL foca na palavra-chave SQL DISTINCT no Oracle, e fornece explicações, exemplos e exercícios. Para os exercícios desta lição, use este link.

Este tutorial é parte de vários posts que explicam como escrever consultas básicas no Oracle. Para ler posts adicionais sobre este assunto, por favor use os seguintes links:

  • Escrevendo instruções SQL SELECT básicas
  • Operadores Aritméticos doSQL
  • Alias da coluna doSQL
  • Concatenação de String doSQL
  • Palavra-chave DISTINCT doSQL

Palavra-chave DISTINCT do Oracle

A exibição padrão das consultas Oracle é todas as linhas, incluindo as linhas duplicadas. A palavra-chave DISTINCT do Oracle na cláusula SELECT é usada para eliminar linhas duplicadas e exibir uma lista única de valores.

Por exemplo: vamos assumir que temos uma tabela de Clientes, que contém uma lista de clientes de diferentes cidades: 40 clientes de Londres, 30 de Liverpool e 30 de Manchester. Foi-lhe pedido para mostrar a lista de cidades onde estes clientes residem:

SELECT cityFROM customers

Esta declaração Oracle não é muito útil, uma vez que recupera 100 linhas (Londres retorna 40 vezes, Liverpool retorna 30 vezes, e Manchester retorna 30 vezes), enquanto que a nossa intenção era mostrar apenas 3 linhas.

Para resolver este problema e recuperar apenas valores únicos, use a palavra-chave DISTINCT do Oracle:

SELECT DISTINCT column_nameFROM table_name SELECT DISTINCT cityFROM customers

O resultado:

CITY------LondonLiverpoolManchester

Nota : A palavra-chave DISTINCT do Oracle deve ser incluída imediatamente após a palavra-chave SELECT do Oracle.

Oracle DISTINCT Statement on Multiple Columns

Após a palavra-chave Oracle DISTINCT, é possível especificar mais de uma coluna. O qualificador Oracle DISTINCT afeta todas as colunas selecionadas, ao fazer isso, o resultado irá exibir a combinação única de valores das diferentes colunas. Por exemplo, uma lista de clientes de diferentes cidades e países:

Nome do cliente Cidade País
John Smith Liverpool Inglaterra
Sophia Williams Londres Inglaterra
Emma Miller Liverpool England
Olivia Wilson Paris França
Logan Davis Paris França

Vê-se que há dois clientes de Liverpool-Inglaterra, dois clientes de Paris-França, e outro cliente de Londres-Inglaterra.

Executar a declaração do Oracle DISTINCT na coluna País resulta na recuperação de 2 linhas (Inglaterra,Paris).

SELECT DISTINCT countryFROM customers

Executar a declaração do Oracle DISTINCT na coluna Cidade resulta na recuperação de 3 linhas (Liverpool, Londres, paris).

SELECT DISTINCT city FROM customers

Se você executar a declaração DISTINCT do Oracle nas colunas Cidade e País:

SELECT DISTINCT city , countryFROM customers

Três resultados são recuperados – Liverpool Inglaterra, Londres Inglaterra, Paris França.

Deixe uma resposta

O seu endereço de email não será publicado.