oracle 的交并差函数,intersect;union;minus。

Posted coolface

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 的交并差函数,intersect;union;minus。相关的知识,希望对你有一定的参考价值。

创建表并添加数据:

--创建TABLE_A
create table TABLE_A  
(  
 A varchar2(10),  
 B varchar2(10)  
);
--给TABLE_A添加数据
insert into TABLE_A  values(a1,b1);  
insert into TABLE_A  values(a2,b2);  
insert into TABLE_A  values(a3,b3);  


--创建TABLE_B 
create table TABLE_B  
(  
 A varchar2(10),  
 B varchar2(10)  
);
--给TABLE_B添加数据
insert into TABLE_B  values(a1,b1);  
insert into TABLE_B  values(a2,b2);  
insert into TABLE_B  values(a4,b4);  
 

 

 

intersect:  返回查询结果中相同的部分(交集)。

SELECT A,B FROM TABLE_A 
INTERSECT     
SELECT A,B FROM TABLE_B;

--结果
A         B
------------
a1        b1
a2        b2

 

union,union all:  将查询的结果组合后返回, union会过滤重复,union all不过滤重复。

--  TABLE_A和TABLE_B会去除重复数据
SELECT A,B FROM TABLE_A
UNION  
SELECT A,B FROM TABLE_B;  

--结果
A         B
------------
a1        b1
a2        b2
a3        b3
a4        b4

--  TABLE_A和TABLE_B中的所有数据
SELECT A,B FROM TABLE_A 
UNION ALL   
SELECT A,B FROM TABLE_B; 

--结果
A         B
------------
a1        b1
a1        b1
a2        b2
a2        b2
a3        b3
a4        b4

 

minus:  返回在第一个查询结果中包含第二个查询结果中不包含的数据。

SELECT A,B FROM TABLE_A
MINUS  
SELECT A,B FROM TABLE_B;

--结果
A        B
-----------
a3       b3

 

以上是关于oracle 的交并差函数,intersect;union;minus。的主要内容,如果未能解决你的问题,请参考以下文章

ClickHouse / Hive 数组交并差计算

c_cpp 集合的交并差运算

MySQL中的交并差

Spark-Core的交并差拉链

使用高级程序设计语言实现集合的交并差运算

SQLSERVER数据集合的交并差集运算(intersect,union,except)