Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Operadores de conjunto Oracle

Usando operadores de conjunto Oracle (União, União Todos, Intersecção e Menos/Exceto)


Os operadores Oracle Set podem ser usados ​​para selecionar dados de várias tabelas. Eles combinam os resultados de duas ou mais consultas. Ao usar os operadores Set

a) Cada cláusula SELECT deve ter o mesmo número de colunas

b) A coluna deve ser do mesmo tipo de dados

c) A coluna deve ser especificada na mesma ordem em todas as cláusulas de seleção.

Existem 4 operadores Set:
UNIÃO Ele retorna todas as linhas exclusivas retornadas de ambas as consultas
UNIÃO TODOS Ele retorna todas as linhas, incluindo duplicatas
INTERSECT Ele retorna apenas as linhas retornadas de ambas as consultas
MENOS Ele retorna linhas exclusivas selecionadas pela primeira consulta, mas não as linhas selecionadas pela segunda consulta

Operador da Oracle Union:


O operador Oracle Union é usado para combinar os conjuntos de resultados de duas ou mais instruções SELECT. Ele combina o conjunto de resultados da instrução SELECT e remove as linhas duplicadas entre eles.
SELECT city_name FROM CUST_DATA
UNION
SELECT nome_da_cidade FROM SUPP_DATA;
Esta consulta retornará linhas distintas de cidades de "Cust_data" e "Supp_data"

Oráculo União Todos


O operador Oracle Union All é usado para combinar os conjuntos de resultados de duas ou mais instruções SELECT. Ele combina os dois conjuntos de resultados da instrução SELECT e retorna como está. Portanto, pode conter duplicatas também dependendo do conjunto de dados

SELECT city_name FROM CUST_DATA
UNION All
SELECT city_name FROM SUPP_DATA
;


Esta consulta retornará todas as linhas (também linhas duplicadas) de cidades de "Cust_data" e "Supp_data"

Diferença entre  Union e Union All no Oracle


Union retorna as linhas distintas, enquanto Union all retorna todas as linhas. Portanto, temos que ter muito cuidado ao escolher esses operadores de conjunto

Oracle Intersect


O operador Oracle Intersect é usado para combinar os conjuntos de resultados de duas ou mais instruções SELECT. Ele combina os dois conjuntos de dados da instrução SELECT e retorna as linhas comuns distintas entre as instruções. Portanto, se existir um registro em uma consulta e não na outra, ele será omitido dos resultados do INTERSECT.

Os resultados são mostrados pela parte sombreada na figura acima

SELECT city_name FROM CUST_DATA
INTERSECT
SELECT city_name FROM SUPP_DATA
;


Esta consulta retornará o nome comum da cidade de “Cust_data” e “Supp_data”

Diferença entre Interseção e Junção


1) O operador INTERSECT é usado para recuperar os registros comuns de ambas as cláusulas select do Operador Intersect Considerando que Join é usado para recuperar dados de duas tabelas com base na condição especificada
2) INTERSECT faz a comparação para todas as colunas enquanto INNER JOIN apenas as colunas especificadas.
3) O operador INTERSECT retorna quase os mesmos resultados que a cláusula INNER JOIN muitas vezes.

Oracle Menos


O operador Sql menos é usado para combinar os conjuntos de resultados de duas ou mais instruções SELECT. Ele combina a instrução SELECT e retorna as linhas selecionadas da primeira instrução select e, em seguida, remove do conjunto de dados todas as linhas recuperadas da segunda instrução select

Os resultados são mostrados pela parte sombreada na figura acima

SELECT city_name FROM CUST_DATA
MINUS
SELECT city_name FROM SUPP_DATA
;


Esta consulta retornará o nome da cidade de "Cust_data" menos o nome da cidade "Supp_data"

Aqui, como todos os dados retornados da instrução select são os mesmos, ele não gerou nenhuma linha.

Vamos inserir uma linha diferente em cust_data e ver os resultados

Agora vamos ver se fazemos menos de cust_data de supp_data

SELECT city_name FROM SUPP_DATA
MINUS
SELECT city_name FROM CUST_DATA
;


Não temos operador negativo em muitos RDBMS como sql server, mysql. Lá usamos exceto no lugar de menos e tem a mesma funcionalidade que menos

Todos esses operadores sql set são válidos para RDBMS usados ​​no Market, como Oracle, mysql, sql server, Postgres, Teradata

Artigos relacionados
excluir registros duplicados no oracle:dicas e maneiras de como excluir linhas duplicadas da tabela oracle. Várias opções são fornecidas para excluir as linhas duplicadas sem problemas
Tutoriais do Oracle Sql:Contém a lista de todos os artigos úteis do Oracle sql. Explore-os para aprender sobre o Oracle Sql, mesmo se você souber Oracle Sql
Perguntas da entrevista Oracle:Confira esta página para obter as 49 principais perguntas e respostas da entrevista Oracle:Noções básicas, Oracle SQL para ajudá-lo em entrevistas.Material adicional também é fornecido
cláusula where no oracle:Restringindo o conjunto de dados, cláusula where, cláusula what is where na instrução sql, funções
single row do operador de comparação no Oracle:Confira isto para descobrir Funções de linha única no sql, Oracle data funções,funções numéricas em sql,função de caractere em sql