首页 > 技术文章 > Oracle 集合

john2017 2017-02-06 19:49 原文

--合并(UNION、UNION ALL)

select * from emp
where ename like '%A%'
union
select * from emp
where ename like '%M%'

UNION ALL不会取消重复和排序


--和合并效果一样

select * from emp
where ename like '%A%' or ename like '%M%'

select * from emp
where ename like '%A%'
union all
select * from emp
where ename like '%M%'


--交集(INTERSECT)

select * from emp
where ename like '%A%'
intersect
select * from emp
where ename like '%M%'


--差集(MINUS)

select * from emp 
where sal between 700 and 1300
minus
select * from emp
where sal between 1200 and 1400


一些限制:
1)对于 LOB, VARRAY 和嵌套表列来说,集合操作符是无效的。
2)对于 LONG 列来说,UNION、INTERSECT、MINUS操作符无效。
3)如果选择列表包含了表达式,则必须要为其指定列别名。

推荐阅读