对查询结果进行合并、剔除、取重操作可以通过UNION、EXCEPT和INTERSECT实现

任意一种操作都要满足以下两个条件:

  1.字段的数量和顺序一致

  2.对应字段的数据类型相兼容

一、UNION

类似集合的并集运算

示例:下面两个表,查询拥有银行存款账号或贷款账号的客户姓名

表Depositor:
Customer_name Acc_num
1 Nora   101
2 Robin   103
3 James   107
4 Jennifer 109
表Borrower:
Customer_name Loan_num
1 Nora 301
2 Robin 305
3 James 306
4 Jenne 308

  无[ALL]修饰:

  SELECT Customer_name FROM Depositor
UNION
SELECT Customer_name FROM Borrower

  查询结果:

Customer_name
1 James
Jenne
Jennifer
Nora
Robin
Tom

  有[ALL]修饰:

   SELECT Customer_name FROM Depositor
UNION ALL
SELECT Customer_name FROM Borrower

  查询结果:

Customer_name
1 Nora
Robin
James
Jennifer
Tom
Nora
Robin
James
Jenne

二、EXCEPT

类似于集合的减法,从前一个表中剔除两个表中相同的记录。

示例:还是基于上文两个表,查询只有银行存款账号而没有贷款账号的客户姓名

  SELECT Customer_name FROM Depositor
EXCEPT
SELECT Customer_name FROM Borrower

查询结果:

Customer_name
1 Jennifer

三、INTERSECT

类似于集合的交集运算,选出两个表中相同的记录

示例:同样基于上文的两个表,查询既有银行存款账号又有贷款账号的客户信息

  SELECT Customer_name FROM Depositor
INTERSECT
SELECT Customer_name FROM Borrower

查询结果:

Customer_name
1 James
Nora
Robin

UNION、EXCEPT和INTERSECT操作查询结果的更多相关文章

  1. LINQ 之Union All/Union/Intersect操作

    闪存 首页 新随笔 管理 订阅     Union All/Union/Intersect操作 适用场景:对两个集合的处理,例如追加.合并.取相同项.相交项等等. Concat(连接) 说明:连接不同 ...

  2. Union All/Union/Intersect操作

    Union All/Union/Intersect操作 适用场景:对两个集合的处理,例如追加.合并.取相同项.相交项等等. Concat(连接) 说明:连接不同的集合,不会自动过滤相同项:延迟. 1. ...

  3. Oracle中的Union、Union All、Intersect、Minus

    Oracle中的Union.Union All.Intersect.Minus  众所周知的几个结果集集合操作命令,今天详细地测试了一下,发现一些问题,记录备考. 假设我们有一个表Student,包括 ...

  4. 集合运算—union(并集)、intersect(交集)和except(差集)

    一.集合运算的基本格式是: 集合查询1 <集合运算> 集合查询2 [order by ...] 二.集合运算符是对两个集合操作的,两个集合必须具有相同的列数,列具有相同的数据类型(至少能隐 ...

  5. Oracle中的Union、Union All、Intersect、Minus[转]

    众所周知的几个结果集集合操作命令,今天详细地测试了一下,发现一些问题,记录备考. 假设我们有一个表Student,包括以下字段与数据: drop table student; create table ...

  6. Union、Union All、Intersect、Minus用法和区别

    假设我们有一个表Student,包括以下字段与数据: [c-sharp] view plain copydrop table student;    create table student  (   ...

  7. Union、Union All、Intersect、Minus

    转自:http://www.2cto.com/database/201208/148795.html Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序: Union All: ...

  8. 一对一关联查询时使用relation连贯操作查询后,调用getLastSql()方法输出的sql语句

    如题: 一对一关联查询时使用relation连贯操作查询后,调用getLastSql()方法输出的sql语句不是一条关联查询语句. 例如: $list = $db->relation(true) ...

  9. MySQL查询in操作 查询结果按in集合顺序显示_Mysql_脚本之家

    body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...

随机推荐

  1. java - import *

    以前看过很多视频,现在发觉很多讲师讲的有些地方是错的,在这里就说一下 import *,例如: import java.util.*的时候,表示的是将文件中使用到的类(而不是全部类)导入,例如在imp ...

  2. (转)iOS被开发者遗忘在角落的NSException-其实它很强大

    转载自 http://www.jianshu.com/p/05aad21e319e iOS被开发者遗忘在角落的NSException-其实它很强大 字数597 阅读968 评论4 喜欢28 NSExc ...

  3. PL/SQL常见设置--Kevin的专栏

    body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...

  4. html-----006

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. python细节

    1.assert 断言语句,可判断一句话真假,若为假会抛出AssertionError. eg. assert 1==1     assert 1==2则AssertionError 2.单引号双引号 ...

  6. 学习笔记-记ActiveMQ学习摘录与心得(二)

    上个周末被我玩过去了,罪过罪过,现在又是一个工作日过去啦,居然有些烦躁,估计这几天看的东西有点杂,晚上坐下来把自己首要工作任务总结总结.上篇学习博客讲了ActiveMQ的特性及安装部署,下面先把我以前 ...

  7. frameset标签代码实现网站跳转

    js代码1: document.writeln("<frameset rows=\"0, *\">"); document.writeln(&quo ...

  8. python使用pyapns进行ios推送消息

    Pyapns 提供了通用的Apple Push Notification Service (APNS).该解决方案使用了开源的Twisted server,支持原生的Python和Ruby API. ...

  9. iOS: 学习笔记, Swift名字空间

    在Swift中, 名字空间是用class(extension)嵌套来实现的, 下面用一个简单例子来进行展示 // // main.swift // SwiftNameSpace // // Creat ...

  10. Linux Kernel Makefile Test

    一.本文说明 本文为linux内核Makefile整体分析的续篇,是依据Linux内核Makefile体系的主要内容编写一个简要的测试工程.Linux内核Makefile体系就好像一只“大鸟”,而这篇 ...