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. Linux shell编程札记

    if-then的高级特性 [[]].[]都是用来测试( 测试分为数值比较.字符串比较.文件比价 )的,[[]]是关键字,里面可以用&&.||.<.>等类似C语言的语法:[] ...

  2. DRL之:策略梯度方法 (Policy Gradient Methods)

    DRL 教材 Chpater 11 --- 策略梯度方法(Policy Gradient Methods) 前面介绍了很多关于 state or state-action pairs 方面的知识,为了 ...

  3. Java theory and practice

    This content is part of the series: Java theory and practice A brief history of garbage collection A ...

  4. 使用 NGUI 实现头顶文字及血条

    以下是 NGUI HUD Text 实现的: 基本原理: 1. 在角色头顶绑一个点 Pivot,用于对齐 2. 因为界面总是覆盖在人物头顶信息的上面,所以将 UIRoot 分为2个 Panel:1) ...

  5. 使用swiper和吸顶效果代码

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  6. Android Facebook和Twitter分享

    1. 背景 在年初的时候,公司的项目有个新的需求,在英文版的应用中加入Facebook和Twitter分享功能. 2. 完成情况 由于这个项目比较急,所以开发这个功能从预研到接入总共耗时一周.后来,在 ...

  7. nginx和apache配置目录浏览功能

    今天工作需要,要给客户提供一个patch的下载地址,于是想用nginx的目录浏览功能来做,需要让客户看到指定一个目录下的文件列表,然后让他自己来选择该下载那个文件: 我们都知道在apache下可以配置 ...

  8. Entity Framework 全面教程详解(转)

    目录 预备知识    2 LINQ技术 2 LINQ技术的基础 - C#3.0    2 自动属性    2 隐式类型    2 对象初始化器与集合初始化器    3 匿名类    3 扩展方法    ...

  9. Oracle数据库概述

    Oracle是一种RDBMS(Relational Database Management System 关系型数据库管理系统),是Oracle公司的核心产品. 2009年4月,Oracle并购了Su ...

  10. 【转】GridView中页脚汇总显示

    来源:http://blog.csdn.net/atian15/article/details/3495514 有时候需要在GridView的页脚中汇总显示一些信息,常见的方法有两种: 1.在SQL中 ...