PLSQL_基础系列03_合并操作UNION / UNION ALL / MINUS / INTERSET(案例)
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(案例)的更多相关文章
- PLSQL_基础系列06_判断操作NVL / NULLIF / COALESCE / NVL2(案例)
2014-12-08 Created By BaoXinjian
- PLSQL_基础系列02_分组函数GROUP BY / ROLLUP / CUBE(案例)
2014-11-30 Created By BaoXinjian
- PLSQL_基础系列01_正则表达REGEXP_LIKE / SUBSTR / INSTR / REPLACE(案例)
2014-11-30 Created By BaoXinjian
- PLSQL_基础系列11_递归和层次查询CONNECT BY(案例)
2015-05-31 Created By BaoXinjian
- PLSQL_基础系列08_操作符标LPAD / TRUNC / DECODE / TRIM / INSTR(案例)
2014-12-09 Created By BaoXinjian
- PLSQL_基础系列05_视图控制WITH CHECK OPTION(案例)
2014-12-09 Created By BaoXinjian
- PLSQL_基础系列12_替换函数用法REPLACE / TRANSLATE / REGEXP_REPLACE
20150806 Created By BaoXinjian
- PLSQL_基础系列10_子查询WITH AS(案例)
2015-05-29 Created By BaoXinjian
- PLSQL_基础系列09_时间戳记TIMESTAMP(案例)
2013-11-09 Created By BaoXinjian
随机推荐
- 工作中遇到的问题--实现程序运行时就加载CustomerSetting的第二种方法
写一个自定义注解 @Target({ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD})@Retention(Retention ...
- Python笔记本
Python 的主提示符( >>> )和次提示符( ... ).主提示符是解释器告诉你它在等你输入下一个语句,次提示符告诉你解释器正在等待你输入当前语句的其它部分. 下划线(_)在解 ...
- 用类求圆面积c++
#include<iostream>.#include<math.h>using namespace std;class Circle{ public: d ...
- VPS 搭建 SS
推荐 VPS:http://www.vultr.com/?ref=6915101 1.连接 VPS 运行命令 ssh root@xx.xx.xx.xx -p 22 // vultr 的端口为 22 然 ...
- 怎么给OCR文字识别软件设置正确的扫描分辨率
ABBYY FineReader 12是一款专业的OCR文字识别软件,可快速方便地将扫描纸质文档.PDF文件和数码相机的图像转换成可编辑.可搜索的文本,不仅支持对页扫描,还支持多页扫描,扫描分辨率的选 ...
- Facade模式
Facade模式要求一个子系统的外部与其内部的通信必须通过一个统一的Facade对象进行.Facade模式提供一个高层次的接口,使得子系统更易于使用. 就如同医院的接待员一样,Facade模式的Fa ...
- 使用Path语法取得对象的值
借鉴了http://stackoverflow.com/questions/4473928/c-sharp-dynamic-string-property-path public class ...
- linux文件锁
http://blog.chinaunix.net/uid-25324849-id-3077304.html 在SHELL中实现文件锁,有两种简单的方式.(1)一是利用普通文件,在脚本启动时检查特定文 ...
- linux服务之snmp
背景信息 http://datatracker.ietf.org/doc/rfc1213/ http://oid-info.com/get/1.3.6.1 http://oid-info.com/ge ...
- web的各种前端打印方法之CSS控制网页打印样式
来源:http://www.jb51.net/web/70358.html CSS控制网页打印样式: 使用CSS控制打印样式,握刚刚使用时一塌糊涂,根本不知道CSS中的midia的作用是什么,问到别人 ...