Heim  >  Artikel  >  Datenbank  >  Oracle集合操作函数备忘

Oracle集合操作函数备忘

WBOY
WBOYOriginal
2016-06-07 16:59:31850Durchsuche

集合操作符专门用于合并多条select 语句的结果,包括:UNION, UNION ALL, INTERSECT , MINUS。当使用集合操作符时,必须确保不同

集合操作符专门用于合并多条select 语句的结果,包括:UNION, UNION ALL, INTERSECT , MINUS。当使用集合操作符时,必须确保不同查询的列个数和数据类型匹配。

集合操作符具有以下注意事项:

* 集合操作符不适用于LOB、VARRAY和嵌套表列。

* UNION、INTERSECT、MINUS操作符不使用于 LONG列。

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

1、UNION (无重并集):当执行UNION 时,自动去掉结果集中的重复行,并以第一列的结果进行升序排序。

2、UNION ALL (有重并集):不去掉重复行,并且不对结果集进行排序。

3、INTERSECT  (交集):取两个结果集的交集,并且以第一列的结果进行升序排列。

select   id,name,job   from worker

INTERSECT

select  empno,ename,job  from emp;

4、MINUS  (差集):只显示在第一个集合中存在,在第二个集合中不存在的数据。并且以第一列的结果进行升序排序。

5、另外,可以使用order by

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

select  id, name  x from new_emp

union all

select  empno, ename  x from emp order by x;//列名不同时使用别名排序

select  id, name  ename from new_emp

union all

select  empno, ename  from emp order by ename;//列名不同时使用别名使其相同后排序

select  id, name  ename from new_emp

union all

select  empno, ename  from emp ;//合并后列名显示以前一个表为主。

linux

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn