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 ;
?只显示了两张表中的不同记录