首页 > 代码库 > oracle 的交并差函数,intersect;union;minus。

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。