• 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运算返回所有由任一查询选择的行。用UNION运算从多表返回所有行,但除去任何重复的行。

    原则

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

     

    三、UNION ALL


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

    原则

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

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

     

    四、MINUS


    相交(INTERSECT)

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

    原则

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

     

    五、INTERSET


    相减(MINUS)

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

    原则

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

     

    Thanks and Regards

  • 相关阅读:
    2017-2018-1 20179226 《文献管理与信息分析》第1讲学习总结
    2017-2018-1 20179226《Linux内核原理与分析》第十一周作业
    2017-2018-1 20179226《Linux内核原理与分析》第十周作业
    2017-2018-1 20179226 《从问题到程序》第2周学习总结
    2017-2018-1 20179226 《构建之法》第1周学习总结
    掌握一种编辑器-Vim
    2017-2018-1 20179226 《深入理解计算机系统》第1周学习总结
    2017-2018-1 20179209《Linux内核原理与分析》第二周作业
    20179209《Linux内核原理与分析》第一周作业
    linux_cpu信息查询
  • 原文地址:https://www.cnblogs.com/eastsea/p/4133972.html
Copyright © 2020-2023  润新知