union可以合并集合(相加)
select * from emp where job='MANAGER'
union
select * from emp where job='SALESMAN'
Union在某些场合下相当于or或in,等同于如下代码:
select * from emp where job in('MANAGER','SALESMAN');或select * from emp where job='MANAGER' or job='SALESMAN';
不是所有的查询语句都可以进行union操作。
select * from emp union select * from dept;
使用union必须保证查询的结果集包含相同的列数。
select empno, ename from emp
union
select deptno, dname from dept
使用unoin必须保证查询结果的字段含义相同。
使用unoin必须保证查询结果的字段的数据类型相同。
minus可以移出集合(相减)
● 查询部门编号为10和20的,去除薪水大于2000的(第一种方法)
select * from emp where deptno in(10, 20) and sal <=2000;
● 查询部门编号为10和20的,去除薪水大于2000的(第二种方法,使用minus)
select * from emp where deptno in(10, 20)
minus
select * from emp where sal>2000
使用方法可以参考Union