日期:2014-05-16  浏览次数:20398 次

Oracle集合操作函数:Union、Intersect、Minus

集合操作不适用于LOB,Varray和潜逃表列

Union、intersect、minus操作符不适用于long列

如果选择列表中包含有表达式或者函数,那么必须为表达式或函数定义列别名

1、Uinon:无重并集,并以第一列的结果进行升序排序

2、Uinon all:有重并集,不对结果集排序

3、Intersect:交集,以第一列的结果进行升序排列

4、Minus:差集,以第一列的结果进行升序排列

5、可使用order by,必须放在最后一条select之后,当列名相同时,可以直接用列名排序,如果不同可以用位置排序,也可以使用别名使其相同。

?

?

-----------

merge into jbk a
using jbk_mz b
on(a.jbdm =b.jbdm and a.jbmc=b.jbmc)
when not matched then
insert(jbdm,jbmc,pym,wbm,n_mark)
values(b.jbdm,b.jbmc,b.pym,b.wbm,b.n_mark)


select b.jbdm,b.jbmc from jbk_mz b
Minus
select a.jbdm,a.jbmc from jbk a

-----------------