在Oracle中提供了三种类型的集合操作: 并(UNION)、交(INTERSECT)、差(MINUS)
- UNION:求并,重复记录只显示一次。
- UNION ALL:求并集,显示所有记录信息。
- INTERSECT:求交集
- MINUS:返回两个查询结果的差集
以下我们来介绍下关于oracle的集合运算:
一、数据准备
根据emp表数据创建emp10表
create table emp10 as (select * from emp where deptno=10);
当前表数据:
-
emp10表
-
emp表
二、oracle集合运算
1、UNION
-
说明
取并集,重复记录只显示一次
- 写法
select * from emp union select * from emp10;
- 结果
2、UNION ALL
-
说明
取并集,显示所有数据
- 写法
select * from emp union all select * from emp10;
- 结果
3、INTERSECT
-
说明
求交集,两个集合中公共的部分
- 写法
select * from emp intersect select * from emp10;
- 结果
4、MINUS
-
说明
求差集,即返回的是emp中有,emp10中没有的数据
- 写法
select * from emp minus select * from emp10;
- 结果