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