Introdução ao DISTINCT no Oracle
Neste artigo, aprenderemos sobre o DISTINCT no Oracle. Uma das palavras-chave importantes que usamos quando recuperamos nossos valores de uma ou várias tabelas no banco de dados é uma palavra-chave DISTINCT. Agora vamos chegar a uma palavra-chave DISTINCT. Quando dizemos ou ouvimos a palavra em inglês distinta, a primeira coisa que vem à nossa mente é ÚNICA ou separada das outras. O mesmo se aplica no caso do banco de dados também. Pode haver centenas de registros em uma tabela e, desses registros, podemos ter registros duplicados. Essa palavra-chave nos ajuda a recuperar apenas registros únicos.
Sintaxe
Examinaremos agora a sintaxe da palavra-chave distinta no Oracle. Temos duas opções neste caso para sintaxe. A primeira sintaxe é usar palavras-chave distintas sem condições e a segunda sintaxe é usar palavras-chave distintas com condições.
Sintaxe sem Condição: Select DISTINCT(expressions) from table_names;
Sintaxe com a Condição: Select DISTINCT(expressions) from table_names (where conditions);
Parâmetros
Vamos agora olhar para os vários parâmetros usados nas duas sintaxes acima.
- expressões: fornecemos os nomes das colunas ou expressões que queremos executar.
- table_names: fornecemos os nomes das tabelas a partir dos quais queremos os registros. As informações importantes a serem observadas aqui são que deve haver pelo menos um nome de tabela após a cláusula.
- (Where conditions): é opcional Se fornecermos a condição where, recuperaremos os valores após a execução da consulta apenas se a condição mencionada for atendida.
Nota: Uma informação importante a ser lembrada é que a palavra-chave DISTINCT considera o valor nulo também como um valor exclusivo. Portanto, se tivermos valores nulos em uma coluna e estivermos usando a palavra-chave DISTINCT para buscar valores exclusivos, ele também exibirá o valor NULL na saída.
Como usar o DISTINCT no Oracle?
Até agora, discutimos o que é uma palavra-chave DISTINCT no oracle, a sintaxe da palavra-chave DISTINCT e os vários parâmetros usados na sintaxe.
Agora, examinaremos vários exemplos para aprender a usar com eficiência o DISTINCT no Oracle. Antes de passarmos para os exemplos, usaremos a tabela EMPLOYEE já criada no banco de dados. A tabela consiste em cinco colunas NAME, VEHICLE_NAME, EMPLOYEE_ID, VEHICLE_ID e CITY. Abaixo está a captura de tela dos valores presentes na tabela de funcionários. A consulta que usaremos para isso é a instrução SELECT básica
SELECT * from employee;
Na execução no desenvolvedor do SQL, obtemos todos os valores, como mostrado abaixo.
Saída: tabela de funcionários
Agora vamos começar com os exemplos.
1. Valores exclusivos em uma coluna sem condição
Neste exemplo, vamos usar DISTINCT para encontrar os valores exclusivos em uma coluna específica de uma tabela sem ter nenhuma condição. Como exemplo, vamos encontrar os valores exclusivos presentes na coluna veículo da tabela de funcionários. A consulta é mostrada abaixo:
Código:
select DISTINCT(vehicle_name) from employee;
Resultado:
Na consulta acima, como você pode ver, fornecemos o nome da coluna e o nome da tabela. Ao executar a consulta acima no desenvolvedor SQL, obtemos a saída abaixo.
2. Valores exclusivos em uma coluna com condição
Neste exemplo, vamos encontrar valores únicos em uma coluna, como no exemplo anterior, mas com uma pequena modificação. Nisso, extrairemos os valores exclusivos com base em alguma condição. Como exemplo, vamos obter os valores exclusivos do nome do veículo da coluna da tabela de funcionários quando a cidade não é Calcutá. A consulta para o mesmo é fornecida abaixo.
Código:
select DISTINCT(VEHICLE_NAME) from employee where CITY != 'KOLKATA';
Resultado:
Se você vir a consulta acima, ela deverá retornar os valores que satisfazem a condição 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 no segundo exemplo, temos cinco valores únicos, pois adicionamos uma condição específica no segundo exemplo.
3. Valores exclusivos de várias colunas
Neste exemplo, vamos encontrar valores exclusivos em várias colunas usando DISTINCT. Portanto, exemplos anteriores usamos colunas únicas, mas, neste caso, vamos usar várias colunas. Por exemplo, suponha que desejamos encontrar os valores exclusivos do nome do veículo e da cidade e os resultados devem estar em ordem crescente com base na cidade da coluna. Vejamos a consulta para o mesmo abaixo.
Código:
select DISTINCT VEHICLE_NAME, CITY from employee ORDER BY CITY ASC;
Resultado:
Na consulta acima, primeiro, os dados são extraídos em ordem crescente com base na cidade da coluna e, em seguida, os dois valores nas colunas nome do veículo e cidade são usados para obter os pares exclusivos. Ao executar a consulta acima no desenvolvedor SQL, obtemos a saída abaixo.
4. DISTINCT com valores NULL
No início do artigo, tínhamos discutido que DISTINCT trata valores NULL como valores únicos, portanto, se tivermos uma coluna com valores nulos. 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. Portanto, aplicaremos DISTINCT na coluna CITY para descobrir o impacto de valores nulos no resultado. A consulta para o mesmo é mostrada abaixo.
Código:
select DISTINCT CITY from employee;
Resultado:
Ao executar a consulta acima no desenvolvedor SQL, obtemos a saída abaixo.
Como podemos ver, a saída mostra null como um valor distinto. Portanto, isso mostra que DISTINCT trata nulo como um valor exclusivo.
Conclusão - DISTINCT no Oracle
Neste artigo, discutimos a palavra-chave DISTINCT no oracle, as sintaxes usadas para usar o DISTINCT em consultas, os parâmetros usados nessas sintaxes e, em vários exemplos, descobrimos como podemos usar o DISTINCT no oracle para resolver nossas tarefas necessárias.
Artigos recomendados
Este é um guia para DISTINCT no Oracle. Aqui discutimos a palavra-chave DISTINCT no oracle, as sintaxes usadas para usar DISTINCT nos códigos e na saída. Você também pode consultar nossos outros artigos relacionados para saber mais -
- Junta-se ao Oracle
- O que é o banco de dados Oracle
- Funções de String do Oracle
- Oracle Warehouse Builder