SQL查询:并集、差集、交集
新建两个表进行测试:
test_a
| ID | name |
|---|---|
| 1 | 曹操 |
| 2 | 郭嘉 |
| 3 | 孙权 |
| 4 | 周瑜 |
test_b
| ID | name |
|---|---|
| 1 | 刘备 |
| 2 | 关羽 |
| 3 | 张飞 |
| 4 | 孙权 |
| 5 | 周瑜 |
1.UNION形成并集
UNION可以对两个或多个结果集进行连接,形成“并集”。
子结果集所有的记录组合在一起形成新的结果集。
1、限定条件
要是用UNION来连接结果集,有4个限定条件。
(1)、子结果集要具有相同的结构。
(2)、字结果集的列数必须相同。
(3)、子结果集对应的数据类型必须可以兼容。
(4)、每个子结果集不能包含order by和compute子句。
2、语法形式
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
3.示例:
无重复记录:
有重复记录:
2.EXCEPT形成差集
EXCEPT可以对两个或多个结果集进行连接,形成“差集”。
返回左边结果集合中已经有的记录,而右边结果集中没有的记录。
1、限定条件
要是用EXCEPT来连接结果集,有4个限定条件。
(1)、子结果集要具有相同的结构。
(2)、字结果集的列数必须相同。
(3)、子结果集对应的数据类型必须可以兼容。
(4)、每个子结果集不能包含order by和compute子句。
2、语法形式
SELECT column_name(s) FROM table1
EXCEPT
SELECT column_name(s) FROM table2;
博主的MySQL版本不支持EXCEPT,暂用NOT IN展示结果。
3.INNER JOIN形成交集
INNER JOIN可以对两个或多个结果集进行连接,形成“交集”。
返回左边结果集和右边结果集中都有的记录。
1、限定条件
要是用INNER JOIN来连接结果集,有4个限定条件。
(1)、子结果集要具有相同的结构。
(2)、字结果集的列数必须相同。
(3)、子结果集对应的数据类型必须可以兼容。
(4)、每个子结果集不能包含order by和compute子句。
2、语法形式
SELECT column_name(s) FROM table1
INNER JOIN table2
ON table2.column_name(s) = table1.column_name(s);
或
SELECT column_name(s) FROM table1
JOIN table2
ON table2.column_name(s) = table1.column_name(s);
SQL查询:并集、差集、交集的更多相关文章
- SQL Server操作结果集-并集 差集 交集 结果集排序
操作结果集 为了配合测试,特地建了两个表,并且添加了一些测试数据,其中重复记录为东吴的人物. 表:Person_1魏国人物 表:Person_2蜀国人物 A.Union形成并集 Union可以对两个或 ...
- 总结 sql 的 并集、交集、差集
有两个表 ,表a ,表b , create table a { age int , name varchar(20) } ending=innodb; insert into a values(13 ...
- 012_py之证书过期监测及域名使用的py列表的并集差集交集
一.由于线上域名证书快要过期,需要进行监测,顾写了一个方法用于线上证书过期监测,如下: import ssl,socket,pprint def check_domain_sslexpired(dom ...
- sql server中取交集、差集和并集的语法
这里简单总结下在SQL Server中取交集.差集和并集的语法. 交集:INTERSECT(适用于两个结果集) SELECT ID, NAME FROM YANGGB1 INTERSECT SELEC ...
- List之Union(),Intersect(),Except() 即并集,交集,差集运算。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- java8 集合求差集、并集、交集
前言 java8里最大亮点是lambda,让我们用习惯C# linq的语法,也能眼前一亮.但是比起C#的语法糖还是差的很远. 差集.并集.交集 @Test public void test1(){ L ...
- PHP求并集,交集,差集
PHP求并集,交集,差集 一.总结 一句话总结:在php中如果我想要对两个数组进行如并集.交集和差集操作,我们可直接使用php自带的函数来操作如array_merge(),array_intersec ...
- python 并集union, 交集intersection, 差集difference, 对称差集symmetric_difference
python的集合set和其他语言类似,是一个无序不重复元素集, 可用于消除重复元素. 支持union(联合), intersection(交), difference(差)和sysmmetric d ...
- (java/javascript) list 交集 并集 差集 去重复并集
java list 交集 并集 差集 去重复并集 package com; import java.util.ArrayList; import java.util.Iterator; import ...
- Python 求两个文本文件以行为单位的交集 并集 差集
Python 求两个文本文件以行为单位的交集 并集 差集,来代码: s1 = set(open('a.txt','r').readlines()) s2 = set(open('b.txt','r') ...
随机推荐
- 2019年java大型项目技术选型
学习一下 1,公司使用的架构是:SpringCloud + K8S 这一套主流技术,但是还是入门级别的. 还包含apollo ,xxlJob ,SkyWalking,Cat,GrayLog等 2,G ...
- Java学习(八)
今天学了类的封装知识与编译器的使用,和c++的大体一致,只有一些细节不同,像private的使用等. 小试牛刀,写了一个封装后的类,并且测试. public class Student { priva ...
- 概述C# virtual修饰符
摘要:C#是继C++和Java语言后的又一面向对象的语言,在语法结构,C#有很多地方和C++及Java相似,但是又不同于它们,其中一些关键特别需要引起我们的注意. C# virtual修饰符用于修改方 ...
- OPPO 图数据库平台建设及业务落地
本文首发于 OPPO 数智技术公众号,WeChat ID: OPPO_tech 1.什么是图数据库 图数据库(Graph database)是以图这种数据结构存储和查询的数据库.与其他数据库不同,关系 ...
- NOIP模拟99(多校31)
T1 法阵 解题思路 原题3100,张口放 T1(出题人原话) 思维题,合法的情况其实就是上下两个梯形拼起来的样子. 他们的边界都是在 \(i\) 轴上面,但是不能相交. 于是我们可以尝试两者相交的纵 ...
- js--history 对象详解
前言 我们浏览一个网页时可能不太会注意网页前进后退这些操作,但是在开发时你是否想过页面之间的跳转经历了什么,浏览器时怎么保存的页面信息,重新返回上一个页面的时候是否需要重新加载页面呢,会有很对疑问,要 ...
- Dapr-发布/订阅
前言 前篇文章对Dapr的状态管理进行了解,本篇继续对 订阅/发布 构建块进行了解. 一.定义: 发布订阅的概念来自于事件驱动架构(EDA)的设计思想,这是一种让程序(应用.服务)之间解耦的主要方式, ...
- [loj3014]独特的城市
约定:一棵树的深度定义为其中到根最远的点到根的距离 考虑节点$x$的答案: 任取一条直径,根据直径的性质,到$x$较远的直径端点一定是到$x$最远的点之一 由此,不难证明对于$x$独特的点,一定在$x ...
- [atARC077F]SS
(以下字符串下标从0开始,并定义$2s=s+s$) 考虑$f(S)$,即令$l=\max_{2i<|S|且S[0,i)=S[|S|-i,|S|)]}i$,则$f(S)=S+S[l,|S|-l)$ ...
- 高并发异步解耦利器:RocketMQ究竟强在哪里?
上篇文章消息队列那么多,为什么建议深入了解下RabbitMQ?我们讲到了消息队列的发展史: 并且详细介绍了RabbitMQ,其功能也是挺强大的,那么,为啥又要搞一个RocketMQ出来呢?是重复造轮子 ...