Introdução a DISTINCT no Oracle

Palavra-chave DISTINCT no banco de dados Oracle separa ou filtra as linhas duplicadas no conjunto de resultados retornados pela instrução SELECT (resultado set contém a coluna/colunas presentes na instrução SELECT) para que a coluna ou colunas retornadas pela consulta contenha todos os valores ou registros que não estejam duplicados e sejam únicos entre si, pois a palavra-chave DISTINCT compara cada valor da coluna/colunas presentes no conjunto de resultados retornados pela consulta.

Sintaxe

Inicie seu curso gratuito de ciências de dados

Hadoop, ciências de dados, estatísticas & outros

Veremos agora a sintaxe da palavra-chave distinta no Oracle. Temos duas opções neste caso para a sintaxe. A primeira sintaxe é usar uma palavra-chave distinta sem condições e a segunda sintaxe é usar uma palavra-chave distinta com condições.

Sintaxe sem condições: Select DISTINCT(expressions) from table_names;

Sintaxe com a Condição:Select DISTINCT(expressions) from table_names ;

Parâmetros

Vamos agora olhar para os vários parâmetros utilizados nas duas sintaxes acima.

  • expressões: fornecemos os nomes das colunas ou expressões que queremos executar.
  • nomes_de_tabela: Fornecemos os nomes das tabelas a partir das quais queremos os registos. Informação importante a notar aqui é que deve haver pelo menos um nome de tabela após a cláusula.
  • : É opcional Se fornecemos a condição where do que recuperaremos os valores após a execução da consulta somente se a condição mencionada for satisfeita.

Note: Uma informação importante a ter em mente é que a palavra-chave DISTINCT considera valor nulo também como um valor único. Assim, caso tenhamos valores nulos numa coluna e estejamos a usar a palavra-chave DISTINCT para ir buscar valores únicos, então também irá mostrar o valor NULL no output.

Como usar DISTINCT no Oracle?

Até agora discutimos o que é uma palavra-chave DISTINCT no oráculo, a sintaxe da palavra-chave DISTINCT e os vários parâmetros usados na sintaxe.

Agora vamos olhar para vários exemplos para aprender como usar DISTINCT de forma eficiente no Oracle. Antes de passarmos aos exemplos, vamos usar a tabela EMPLOYEE já criada na base de dados. A tabela consiste em cinco colunas que são: NAME, VEHICLE_NAME, EMPLOYEE_ID, VEHICLE_ID, e CITY. Abaixo está a captura de tela dos valores presentes na tabela de empregados. A consulta que vamos utilizar para isto é a instrução básica SELECT

SELECT * from employee;

>Na execução em SQL developer obtemos todos os valores como se mostra abaixo.

Output: Tabela de empregados

Agora vamos começar com os exemplos.

1. Valores Únicos em uma Coluna sem Condição

Neste exemplo, vamos usar DISTINCT para encontrar os valores únicos em uma coluna particular de uma tabela sem ter nenhuma condição. Como exemplo, vamos encontrar os valores únicos presentes na coluna do veículo da tabela de empregados. A consulta é mostrada abaixo:

Código:

select DISTINCT(vehicle_name) from employee;

Output:

>Na consulta acima como você pode ver fornecemos o nome da coluna bem como o nome da tabela. Ao executar a consulta acima no desenvolvedor SQL obtemos a saída abaixo.

2. Valores Únicos em uma Coluna com Condição

Neste exemplo, vamos encontrar valores únicos em uma coluna como no exemplo anterior, mas com uma ligeira modificação. Neste exemplo, vamos extrair os valores únicos com base em alguma condição. Como exemplo, vamos obter os valores únicos do nome do veículo da coluna da tabela de funcionários quando a cidade não é Kolkata. A consulta para o mesmo é fornecida abaixo.

Código:

select DISTINCT(VEHICLE_NAME) from employee where CITY != 'KOLKATA';

Output:

Se você vir a consulta acima, a consulta deve retornar os valores que satisfazem a condição de where. Ao executar a consulta acima no desenvolvedor SQL obtemos a saída abaixo.

Como você pode ver no exemplo anterior tínhamos seis valores únicos, enquanto que no segundo exemplo temos cinco valores únicos como tínhamos adicionado uma condição específica no segundo exemplo.

3. Valores Únicos de Várias Colunas

Neste exemplo, vamos encontrar valores únicos em várias colunas usando DISTINCT. Então exemplos anteriores tínhamos usado colunas únicas mas, neste caso, vamos usar múltiplas colunas. Por exemplo, suponha que queremos encontrar os valores únicos tanto do nome do veículo como da cidade e os resultados devem estar em ordem ascendente com base na cidade da coluna. Vamos ver a consulta para o mesmo abaixo.

Código:

select DISTINCT VEHICLE_NAME,CITY from employee ORDER BY CITY ASC;

Output:

Na consulta acima primeiro, os dados são extraídos em ordem ascendente com base na cidade da coluna e depois ambos os valores no nome do veículo da coluna e cidade são usados para obter os pares únicos. Ao executar a consulta acima no desenvolvedor SQL obtemos a saída abaixo.

4. DISTINCT com valores NULL

Earlier no artigo, tínhamos discutido que DISTINCT trata os valores NULL como valores únicos, então se temos uma coluna com valores nulos nela. Ele será tratado como um valor único. Por exemplo, temos valores nulos na coluna CITY que você pode ver na captura de tela fornecida no início do artigo, onde todos os valores da tabela de funcionários são mostrados. Assim, vamos aplicar o DISTINCT na coluna CIDADE para descobrir o impacto dos valores nulos no resultado. A consulta para o mesmo é mostrada abaixo.

Código:

select DISTINCT CITY from employee;

Output:

Ao executar a consulta acima no desenvolvedor SQL obtemos a saída abaixo.

Como podemos ver a saída mostra nulo como um valor distinto. Então isto mostra que o DISTINCT trata nulo como um valor único.

Conclusion – DISTINCT in Oracle

Neste artigo, discutimos a palavra-chave DISTINCT no oráculo, as sintaxes usadas para usar DISTINCT em consultas, os parâmetros usados nessas sintaxes e então através de vários exemplos chegamos a saber como podemos usar DISTINCT no oráculo para resolver nossas tarefas requeridas.

Artigos recomendados

Este é um guia para DISTINCT no Oracle. Aqui discutimos a palavra-chave DISTINCT no oráculo, as sintaxes usadas para usar DISTINCT em códigos e saída. Você também pode ver nossos outros artigos relacionados para aprender mais –

  1. Joins in Oracle
  2. O que é Oracle Database
  3. O que é Oracle String Functions
  4. Oracle Warehouse Builder
  5. Guide to Top Versions of Oracle
  6. ORDER BY in MySQL | How to Works?
  7. >

  8. Guia para esta palavra-chave em C#
1 Acções

admin

Deixe uma resposta

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

lg