为了配合测试,特地建了两个表,并且添加了一些测试数据,其中重复记录为东吴的人物。

  表:Person_1魏国人物

   

  表:Person_2蜀国人物

  

  A、Union形成并集

    Union可以对两个或多个结果集进行连接,形成“并集”。子结果集所有的记录组合在一起形成新的结果集。

    1、限定条件

     要是用Union来连接结果集,有4个限定条件。

     (1)、子结果集要具有相同的结构。

     (2)、字结果集的列数必须相同。

     (3)、子结果集对应的数据类型必须可以兼容。

     (4)、每个子结果集不能包含order by和compute子句。

     2、语法形式

    select_statement union [all] select_statement

   all代表最终的结果集中将包含所有的行,而不能删除重复行。

    示例:

  SELECT Name FROM Person_1
  UNION
  SELECT Name FROM Person_2

   生成的结果为:

   

  注意到重复记录,孙权与周瑜仅仅显示了一个。下面来将UNION替换成UNION ALL看看是什么结果:

  SELECT Name FROM Person_1
  UNION ALL
  SELECT Name FROM Person_2

  注意到重复记录,孙权与周瑜出现了两次,这就是UNION ALL 与 UNION的不同之处。

  

   B、Except形成差集

   Except可以对两个或多个结果集进行连接,形成“差集”。返回左边结果集合中已经有的记录,而右边结果集中没有的记录。

   限定条件:

    1、子结果集要具有相同的结构。

    2、子结果集的列数必须相同。

    3、子结果集对应的数据类型必须可以兼容。

    4、每个子结果集不能包含order by 和 compute子句。

    语法形式:

    select_statement except select_statement 

    自动删除重复行。

    示例:

  SELECT Name FROM Person_1
  EXCEPT
  SELECT Name FROM Person_2

    结果:

    

    留意到表Person_2有的,孙权周瑜已被去除。

  C、InterSect形成交集

    InterSect可以对两个或多个结果集进行连接,形成“交集”。返回左边结果集和右边结果集中都有的记录。

  1、限定条件  

    要是用Except来连接结果集,有4个限定条件。

    (1)、子结果集要具有相同的结构。

    (2)、子结果集的列数必须相同。

    (3)、子结果集对应的数据类型必须可以兼容。

    (4)、每个子结果集不能包含order by或compute子句。

  2、语法形式

  select_statement intersect select_statement        

  示例:

  SELECT Name FROM Person_1
  INTERSECT
  SELECT Name FROM Person_2

   返回的结果如下:

   

   留意到只取两张表都有的记录(周瑜,孙权),这就是所谓的交集。

  D、结果集的排序

  SELECT Name FROM Person_1
  INTERSECT
  SELECT Name FROM Person_2
  ORDER BY Name DESC    --此处的字段名相同了,如果不同,请切记排序列名,只能够是第一个表的列名

  这里只有两点要注意

  1.ORDER BY是对整个运算后的结果排序,并不是对单个数据集。

  2.ORDER BY后面排序的字段名称是第一个数据集的字段名或者别名。

原文:http://www.cnblogs.com/kissdodog/archive/2013/06/24/3152743.html

转:SQL 操作结果集 -并集、差集、交集、结果集排序的更多相关文章

  1. SQL Server操作结果集-并集 差集 交集 结果集排序

    操作结果集 为了配合测试,特地建了两个表,并且添加了一些测试数据,其中重复记录为东吴的人物. 表:Person_1魏国人物 表:Person_2蜀国人物 A.Union形成并集 Union可以对两个或 ...

  2. Set 的合集 并集 差集

    合集 ,,,,,,]; ,,]; function union() { //先将数组去重 let s1 = new Set(arr1); let s2 = new Set(arr2); //[...s ...

  3. 012_py之证书过期监测及域名使用的py列表的并集差集交集

    一.由于线上域名证书快要过期,需要进行监测,顾写了一个方法用于线上证书过期监测,如下: import ssl,socket,pprint def check_domain_sslexpired(dom ...

  4. PHP求并集,交集,差集

    PHP求并集,交集,差集 一.总结 一句话总结:在php中如果我想要对两个数组进行如并集.交集和差集操作,我们可直接使用php自带的函数来操作如array_merge(),array_intersec ...

  5. [转]SQL 操作结果集 -并集、差集、交集、结果集排序

    本文转自:http://www.cnblogs.com/kissdodog/archive/2013/06/24/3152743.html 操作结果集 为了配合测试,特地建了两个表,并且添加了一些测试 ...

  6. SQL 操作结果集 -并集、差集、交集、结果集排序

    操作结果集 为了配合测试,特地建了两个表,并且添加了一些测试数据,其中重复记录为东吴的人物. 表:Person_1魏国人物 表:Person_2蜀国人物 A.Union形成并集 Union可以对两个或 ...

  7. python 并集union, 交集intersection, 差集difference, 对称差集symmetric_difference

    python的集合set和其他语言类似,是一个无序不重复元素集, 可用于消除重复元素. 支持union(联合), intersection(交), difference(差)和sysmmetric d ...

  8. JS 对象 数组求并集,交集和差集

    一.JS数组求并集,交集和差集 需求场景 最近,自己项目中有一些数组操作,涉及到一些数学集的运算,趁着完成后总结一下. 简化问题之后,现有两数组a = [1, 2, 3],b = [2, 4, 5], ...

  9. (java/javascript) list 交集 并集 差集 去重复并集

    java list 交集 并集 差集 去重复并集 package com; import java.util.ArrayList; import java.util.Iterator; import ...

随机推荐

  1. TransportClient 新建index,mappings dynamic_templates。

    public void createIndex(TransportClient client, String index){ CreateIndexRequest request = new Crea ...

  2. Kafka Stream

    Kafka Stream是Apache Kafka从0.10版本引入的一个新Feature(当前:1.0.0-rc0,参见:https://github.com/apache/kafka/releas ...

  3. VSFTPD配置和错误 ,这篇文章也太厉害了

    配置过程 1.关闭防火墙  service iptables stop 2.启动vsftpd   service vsftpd start 3.添加root用权 cd /etc/vsftpd   更改 ...

  4. WPF Demo16 资源

    <Window x:Class="RescourceDemo1.MainWindow" xmlns="http://schemas.microsoft.com/wi ...

  5. Azure SQL 数据库仓库Data Warehouse (1) 入门

    <Windows Azure Platform 系列文章目录> 在之前的项目中遇到了客户使用SQL数据仓库的场景,在这里记录一下 1.什么是SQL 数据库仓库 (SQL DW) SQL D ...

  6. PHP_EOL DIRECTORY_SEPARATOR

    换行符 PHP_EOL unix系列用 \n windows系列用 \r\n mac用 \r PHP中可以用PHP_EOL来替代,以提高代码的源代码级可移植性 路径上的斜杠    DIRECTORY_ ...

  7. JFrame关闭程序就退出的设置

    要是实现JFrame 关闭后程就退出或者停止可以调用setDefaultCloseOperation() 方法. 入下图程序 package ltb6w; import javax.swing.*; ...

  8. tomcat源码 StandardService

    在执行StandardServer的initInternal的时候会执行StandardService#init,然后会调到initInternal protected void startInter ...

  9. Js之事件循环(执行机制)

    js的执行机制是事件循环 什么是事件循环? js引擎在执行代码时,首先会将同步代码加入到主线程中,异步代码会放到event table中注册回调函数, 当主线程空闲之后,event table中的回调 ...

  10. Python——字符串(python programming)

    p ython——字符串 ①加法 连接两个字符串 ②乘法  复制字符串 python——转义字符 \n 换行 \' 单引号 \'' 双引号 \\ 反斜杠 raw字符串:无视转义字符   转义: 字符串 ...