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

oracle 的 union union all intersect minus 区别

关键字:?oracle?union?union?all?intersect?minus?

集合操作有 并,交,差 3种运算。?

 union?:得到两个查询结果的并集,并且自动去掉重复行。不会排序?

 union?all:得到两个查询结果的并集,不会去掉重复行。也不会排序?

 intersect:得到两个查询结果的交集,并且按照结果集的第一个列进行排序?

 minus:得到两个查询结果的减集,以第一列进行排序?

例子:?

  下面是两个表:一个主修课程表,一个选修课程表。?

这个是主修课程表:minors?

  ???create?table?minors(?
???????? minor_id?number?primary?key,?
?????? ??minor_name?varchar2(30)?not?null,?
??????? ?credit_hour?number(2)?
??? ??)?

插入3条记录:               ?

  ????insert?into?minors?values(10101,'计算机原理',4)?
???? ?insert?into?minors?values(10201,'自动控制原理',3)?
???? ?insert?into?minors?values(10301,'工程制图原理',4)?

下面创建选修课程表minors2?

 ??????create?table?minors2(?
?????????minor_id?number?primary?key,?
?????????minor_name?varchar2(30)?not?null,?
?????????credit_hour?number(2)?
???????)?

插入两条记录:?
????????insert?into?minors2?values(10201,'自动控制原理',3)?
???????insert?into?minors2?values(10301,'工程制图原理',4)???

?