-- 工资大千1500, 或者是20号部门下的员工(并集)
select * from emp where sal>1500
union
select * from emp where deptno=20;
-- union 返回两个集合去掉重复的元素后的所有记录 union all包含重复的
-- intersect 返回同时属于两个集合的记录
-- 工资大千1500, 并且是20号部门下的员工(交集)
select * from emp where sal>1500
intersect
select * from emp where deptno=20;
-- minus返回属于第一个集合,不属于第二个集合的记录.(差集)
-- 1981年入职的普通员工(不包括总裁和经理)
select ename from emp where to_char(hiredate,'yyyy')='1981'
minus
select ename from emp where job='PRESIDENT' or job='MANAGER';
-- 集合运算的特征:集合运算两边查询的字段数量,字段类型,顺序必须一致.
oracle集合运算
最新推荐文章于 2022-12-14 16:02:14 发布