Oracle集合查询


并集

Select  * from emp where deptno=10 union select * from emp where deptno=20;

Select  * from emp where deptno=10 union all select * from emp where deptno=20;

Select * from emp where ename like ‘%A%’ or ename like ‘%M%’;

Select * from emp where ename like ‘%A%’ union ename like ‘%M%’;//去掉共有部分

Select * from emp where ename like ‘%A%’ union all ename like ‘%M%’;//不去掉

交集

Select * from emp where ename like ‘%A%’ intersect  ename like ‘%M%’;//共有的部分

差集

属于第一不属于第二

Order  by 字句只能出现在最后一个语句上,第一个select语句接受的列 名称或者别名

查询结果的列名 必须与第一个select的列名一致

Select * from (select * from emp where sal between 700 and 1300 union select * from emp where sal between 1200 and 1400) order by sal desc;

select  ename,sal from emp where sal between 700 adn 1300 union select ename,sal from emp where sal between 1200 and 1400 order by sal deces;

select语句中参数类型和个数要一致

可以使用括号改变集合执行的顺序

集合运算采用第一个语句的表头作为表头

相关内容