2014-11-30 Created By BaoXinjian


如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到Union或者Union All关键字。Union(或称为联合)的作用是将多个结果合并在一起显示出来。

Union和Union All的区别是,Union会自动压缩多个结果集合中的重复结果,而Union All则将所有的结果全部显示出来,不管是不是重复。

  • Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;
  • Union All:对两个结果集进行并集操作,包括重复行,不进行排序;
  • Intersect:对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序;
  • Minus:对两个结果集进行差操作,不包括重复行,同时进行默认规则的排序;

可以在最后一个结果集中指定Order by子句改变排序方式。


UNION(联合)运算

UNION运算返回所有由任一查询选择的行。用UNION运算从多表返回所有行,但除去任何重复的行。

原则

  • 被选择的列数和列的数据类型必须是与所有用在查询中的SELECT语句一致。列的名字不必相同。
  • 联合运算在所有被选择的列上进行。
  • 在做重复检查的时候不忽略空(NULL)值。
  • IN运算有比UNION运算高的优先级。
  • 在默认情况下,输出以SELECT子句的第一列的升序排序。


运算从两个查询返回包括所有重复值的结果

原则

  • 和联合不同,重复的行不被过滤,并且默认情况下输出不排序。
  • 不能使用DISTINCT关键字。

注:除了上面的两点,UNION ALL的原则与UNION相同。


相交(INTERSECT)

用相交运算返回多个查询中所有的公共行。

原则

  • 在查询中被 SELECT 语句选择的列数和数据类型必须与在查询中所使用的所有的 SELTCT 语句中的   一样,但列的名字不必一样。
  • 颠倒相交的表的排序不改变结果。
  • 相交不忽略空值。


相减(MINUS)

用相减运算返回由第一个查询返回的行,那些行不出现在第二个查询中 (第一个SELECT语句减第二个SELECT语句)。

原则

  • 在查询中被SELECT语句选择的列数和数据类型必须与在查询中所使用的所有的SELTCT语句中的一样,但列的名字不必一样。
  • 对于MINUS运算,在WHERE子句中所有的列都必须在SELECT子句中。

Thanks and Regards

PLSQL_基础系列03_合并操作UNION / UNION ALL / MINUS / INTERSET(案例)的更多相关文章

  1. PLSQL_基础系列06_判断操作NVL / NULLIF / COALESCE / NVL2(案例)

    2014-12-08 Created By BaoXinjian

  2. PLSQL_基础系列02_分组函数GROUP BY / ROLLUP / CUBE(案例)

    2014-11-30 Created By BaoXinjian

  3. PLSQL_基础系列01_正则表达REGEXP_LIKE / SUBSTR / INSTR / REPLACE(案例)

    2014-11-30 Created By BaoXinjian

  4. PLSQL_基础系列11_递归和层次查询CONNECT BY(案例)

    2015-05-31 Created By BaoXinjian

  5. PLSQL_基础系列08_操作符标LPAD / TRUNC / DECODE / TRIM / INSTR(案例)

    2014-12-09 Created By BaoXinjian

  6. PLSQL_基础系列05_视图控制WITH CHECK OPTION(案例)

    2014-12-09 Created By BaoXinjian

  7. PLSQL_基础系列12_替换函数用法REPLACE / TRANSLATE / REGEXP_REPLACE

    20150806 Created By BaoXinjian

  8. PLSQL_基础系列10_子查询WITH AS(案例)

    2015-05-29 Created By BaoXinjian

  9. PLSQL_基础系列09_时间戳记TIMESTAMP(案例)

    2013-11-09 Created By BaoXinjian

随机推荐

  1. UVA-11468 Substring(AC自动机+DP)

    题目大意:给一些模板串,一些字符的出现概率.问不会出现模板串的概率是多少. 题目分析:是比较简单的概率DP+AC自动机.利用全概率公式递推即可. 代码如下: # include<iostream ...

  2. meta是什么意思?

    META标签,是HTML语言head区的一个辅助性标签.在几乎所有的page里,我们都可以看 到类似下面这段html代码: -------------------------------------- ...

  3. java多线程:并发包中ReentrantLock锁的公平锁原理

    一:锁的原理结构 (1)锁对象内部维护了一个同步管理器的对象AbstractQueuedSynchronizer,AbstractOwnableSynchronizer (2)该对象其实是一个抽象类, ...

  4. curl网站开发指南

    我一向以为,curl只是一个编程用的函数库. 最近才发现,这个命令本身,就是一个无比有用的网站开发工具,请看我整理的它的用法. =================================== ...

  5. HashMap的原理与实 无锁队列的实现Java HashMap的死循环 red black tree

    http://www.cnblogs.com/fornever/archive/2011/12/02/2270692.html https://zh.wikipedia.org/wiki/%E7%BA ...

  6. 谷歌浏览器chrome与firefox的冲突(未解之谜)

    那年,公司开发了一套在线制作电子书的系统 e-textbook. 我负责小学电脑科教材在线题目的制作. 利用 ps制作剪裁好图片,导入系统,制作题目,并通知同事添加代码. 检测时,却发现有一道图片拖放 ...

  7. 视图缩放、移动、旋转--ios

    UIView *view=[[UIView alloc] initWithFrame:CGRectMake(50, 50, 100, 100)]; view.backgroundColor=[UICo ...

  8. C#学习之初步理解委托、事件、匿名方法和Lambda

    最经在学习LinqtoSql,然后扯到Lambda表达式,然后扯到匿名方法,然后扯到委托,最后扯到事件处理...后来发现对委托这个概念和事件处理这个过程理解得不是很清晰,遂得一下学习笔记.那里说得不对 ...

  9. redis模块

    http://www.cnblogs.com/melonjiang/p/5342505.html http://www.django-china.cn/topic/1054/ 1.连接方式 redis ...

  10. linux node&& npm 安装方式

    1.  编译好的文件 简单说就是解压后,在bin文件夹中已经存在node以及npm,如果你进入到对应文件的中执行命令行一点问题都没有,不过不是全局的,所以将这个设置为全局就好了. cd node-v0 ...