oracle sql 集合操作

·   UNION:并集,所有的内容都查询,重复的显示一次
 · UNION ALL:并集,所有的内容都显示,包括重复的
 · INTERSECT:交集:只显示重复的
 · MINUS:差集:只显示对方没有的(跟顺序是有关系的)
首先建立一张只包含20部门员工信息的表:
 CREATE TABLE emp20 AS SELECT * FROM emp WHERE deptno=20 ;
 
1、 验证UNION 及UNION ALL
 UNION:SELECT * FROM emp UNION SELECT * FROM emp20 ;
 使用此语句重复的内容不再显示了
 UNION ALL:SELECT * FROM emp UNION ALL SELECT * FROM emp20 ;
 重复的内容依然显示
 
2、 验证INTERSECT
 SELECT * FROM emp INTERSECT SELECT * FROM emp20 ;
 只显示了两个表中彼此重复的记录。
 
3、 MINUS:返回差异的记录
 SELECT  * FROM emp MINUS SELECT * FROM emp20 ;
 只显示了两张表中的不同记录

猜你喜欢

转载自cfj.iteye.com/blog/1498576