操作结果集

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

  表: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后面排序的字段名称是第一个数据集的字段名或者别名。

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. 体验CoreCLR的stack unwinding特性在Linux/Mac上的初步实现

    有了stack unwinding特性,才能在.NET程序中获取调用堆栈(call stack)信息,才能在异常时显示调用堆栈信息.这个特性之前只在Windows上有实现,Linux/Mac上的实现最 ...

  2. 用AutoHotKey彻底解决“Ctrl键+鼠标滚动”时的缩放问题

    “Ctrl键+鼠标滚动”会造成代码编辑窗口的字体缩放,这是自Visual Studio 2010以来引入的一个新特性,也是一个恼人的问题,详见VS2010中尴尬的代码窗口缩放功能. 于是,每次安装Vi ...

  3. 手势模型和Angular Material的实现

    iPhone的出现让手势操作大为流行,也使得手势编程成为开发人员的挑战. 拟物设计也把手势编程纳入在内,大概也想制定一个在交互模型标准.现阶段因为MD还在预发布阶段,因此还只实现了单点手势(一个指头) ...

  4. [matlab] MATLAB 界面编程 傻瓜教程

    >_<:在 MATLAB 的命令窗口(Command Window)中运行 guide 命令,来打开 GUIDE 界面,如下: >_<:然后,选择空模板(Blang GUI), ...

  5. html中的图片直接使用字符串代替

    最近来了一个网页,里面有图片,但是却没有引用外部的图片资源,很好奇.查看代码后发现,里面的图片是使用base64编码后的字符串代替了,这个叫做Data URI scheme. Data URI sch ...

  6. 基于.NET的Excel开发:单元格区域的操作(读取、赋值、边框和格式)

    引用 using Excel = Microsoft.Office.Interop.Excel; 定义 Excel.ApplicationClass app; Excel.Workbooks book ...

  7. JS获取元素CSS值的各种方法分析

    先来看一个实例:如何获取一个没有设置大小的字体? <!DOCTYPE html> <html lang="en"> <head> <met ...

  8. js程序设计01——基本概念

    本文为js高级程序设计学习笔记,笔记中不乏本人学习js的一些心得demo,喜欢的朋友可以直接参考原书“javascript高级程序设计”,写本笔记的目的是对js中容易出错.不易理解的地方作个笔记,以免 ...

  9. Hadoop MapReduce例子-新版API多表连接Join之模仿订单配货

    文章为作者原创,未经许可,禁止转载.    -Sun Yat-sen University 冯兴伟 一.    项目简介: 电子商务的发展以及电商平台的多样化,类似于京东和天猫这种拥有过亿用户的在线购 ...

  10. 连接Oracle错误:800a0e7a未找到提供程序的解决

    一.现象: C#程序中需要以Provider=OraOLEDB.Oracle.1方式访问ORACLE数据库.但程序执行时报异常:未在本地计算机注册“OraOLEDB.Oracle.1”提供程序 二.解 ...