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. Apache模块管理

    Apache是一个模块化设计的服务,核心只包含主要功能,扩展功能通过模块实现,不同模块可以被静态的编辑进程序,也可以动态加载. # /usr/local/apache/bin/httpd -M  查看 ...

  2. Vue.js相关知识2-组件

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  3. 【BZOJ2013】【JSOI2008】球形空间产生器

    看chty代码 原题: BZOJ挂了--等好了补上题面 有一个球形空间产生器能够在n维空间中产生一个坚硬的球体.现在,你被困在了这个n维球体中,你只知道球面上n+1个点的坐标,你需要以最快的速度确定这 ...

  4. 用Spring的mappingDirectoryLocations来配置Hibernate映射文件

    在Spring的applicationContext.xml中配置映射文件的方法: <property name="mappingResources">     < ...

  5. java 将长度很长的字符串(巨大字符串超过4000字节)插入oracle的clob字段时会报错的解决方案

    直接很长的字符串插入到clob字段中会报字符过长的异常,相信大家都会碰到这种情况 String sql = "insert into table(request_id,table_name, ...

  6. #你好Unity3D#Hierarchy视图监听gameObject点击事件

    今天无意间又找到了个好方法     1 2 3 4 5 6 7 8 9 10 [InitializeOnLoadMethod] static void Start () {   Selection.s ...

  7. python--flask使用

    Flask是一个使用 Python 编写的轻量级 Web 应用框架.下面我将使用Flask框架,创建一个简单的html页面示例. 1.项目的目录结构如下所示:exweb\  uniqueenv\  a ...

  8. 013. asp.net统计网站访问人数

    Global.asax中的代码: <%@ Application Language="C#" %> <script runat="server" ...

  9. 谷歌 analytics.js 简要分析

    下面是部分翻译过的JS,看起来好看些.   (function () { function setHref(a, b) { return a.href = b; } function setName( ...

  10. rsync-3.0.6-64

    http://rsync.samba.org/ 用的是rsync-3.0.6-12.el6.x86_64 Rsync version 3.1.1 released June 22nd, 2014 Rs ...