UNION、EXCEPT和INTERSECT操作查询结果
对查询结果进行合并、剔除、取重操作可以通过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操作查询结果的更多相关文章
- LINQ 之Union All/Union/Intersect操作
闪存 首页 新随笔 管理 订阅 Union All/Union/Intersect操作 适用场景:对两个集合的处理,例如追加.合并.取相同项.相交项等等. Concat(连接) 说明:连接不同 ...
- Union All/Union/Intersect操作
Union All/Union/Intersect操作 适用场景:对两个集合的处理,例如追加.合并.取相同项.相交项等等. Concat(连接) 说明:连接不同的集合,不会自动过滤相同项:延迟. 1. ...
- Oracle中的Union、Union All、Intersect、Minus
Oracle中的Union.Union All.Intersect.Minus 众所周知的几个结果集集合操作命令,今天详细地测试了一下,发现一些问题,记录备考. 假设我们有一个表Student,包括 ...
- 集合运算—union(并集)、intersect(交集)和except(差集)
一.集合运算的基本格式是: 集合查询1 <集合运算> 集合查询2 [order by ...] 二.集合运算符是对两个集合操作的,两个集合必须具有相同的列数,列具有相同的数据类型(至少能隐 ...
- Oracle中的Union、Union All、Intersect、Minus[转]
众所周知的几个结果集集合操作命令,今天详细地测试了一下,发现一些问题,记录备考. 假设我们有一个表Student,包括以下字段与数据: drop table student; create table ...
- Union、Union All、Intersect、Minus用法和区别
假设我们有一个表Student,包括以下字段与数据: [c-sharp] view plain copydrop table student; create table student ( ...
- Union、Union All、Intersect、Minus
转自:http://www.2cto.com/database/201208/148795.html Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序: Union All: ...
- 一对一关联查询时使用relation连贯操作查询后,调用getLastSql()方法输出的sql语句
如题: 一对一关联查询时使用relation连贯操作查询后,调用getLastSql()方法输出的sql语句不是一条关联查询语句. 例如: $list = $db->relation(true) ...
- MySQL查询in操作 查询结果按in集合顺序显示_Mysql_脚本之家
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
随机推荐
- struts2 标签的使用之一 s:if(遍历中s:if如何用等)
http://blog.csdn.net/chinajust/article/details/3922718
- Performance tuning library cache lock & single-task message
My colleague suddenly encountered a problem today,a Database becomes very slow , and the a lot of se ...
- SQL输出矩阵
数据库环境:SQL SERVER2008R2 需求:用SQL实现如下2个图中的矩阵. 图1和图2都是行列转换的另一个变形,下面直接贴上SQL脚本. 图1的SQL实现 /*利用系统 ...
- 检查.gitignore语法
每次配置git的时候,要写gitignore文件,你知道你的.gitignore匹配那些文件吗? 看看.gitignore放过了哪些文件: git ls-files -ocm --exclude-st ...
- python学习笔记--随时更新
# coding=GBK score = 90 if score >= 80: print("好") elif score >= 60: print("及格& ...
- 理解ThreadLocal背后的概念
介绍 我之前在任何场合都没有使用过thread local,因此没有注意到它,直到最近用到它的时候. 前提信息 线程可以理解为一个单独的进程,它有自己的调用栈.在java中每一个线程都有一个调用栈或者 ...
- 安装指南【win10下安装fedora】
系统安装 安装准备 系统:fedora .Win 10 硬件:U盘一枚.PC一台 软件:UltraISO 安装步骤 使用UltraISO将镜像写入U盘 window10使用磁盘管理,空出一个未分配的区 ...
- Git版本控制工具使用:Error pulling origin: error: Your local changes to the following files would be overwritten by merge
摘自: CSDN 逆觞 git在pull时,出现这种错误的时候,可能很多人进进行stash,相关stash的请看:Error pulling origin: error: Your local cha ...
- Linux 安装java
Linux安装Java之后,不用像Windows那样设置环境变量,直接就可在命令行当中输入java或者javac看到效果
- JSON和XML的比较
整理日: 2015/4/5 ◆可读性 JSON和XML的可读性可谓不相上下,一边是简易的语法,一边是规范的标签形式,很难分出胜负. ◆可扩展性 XML天生有很好的扩展性,JSON当然也有,没有什么是X ...