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') ...
随机推荐
- dart系列之:dart类中的泛型
目录 简介 为什么要用泛型 怎么使用泛型 类型擦除 泛型的继承 泛型方法 总结 简介 熟悉JAVA的朋友可能知道,JAVA在8中引入了泛型的概念.什么是泛型呢?泛型就是一种通用的类型格式,一般用在集合 ...
- 印象最深的一个bug:sessionStorage缓存在移动端失效
无bug,不程序:作为程序员的我,不是修bug就是在写bug的路上. 移动端sessionStorage缓存失效是我"印象最深的一个bug"之一,为啥呢,因为这个问题导致我加班到很 ...
- linux安全 设置登录失败次数后,拒绝登录
设置登录失败3次后锁定用户300秒可以通过配合文件/etc/pam.d/sshd配置如下 在第一行 #%PAM-1.0 的下一行添加1a auth required pam_tally2.so den ...
- Maven中所用的Dependency查找方法
用了Maven,所需的JAR包就不能再像往常一样,自己找到并下载下来,用IDE导进去就完事了,Maven用了一个项目依赖(Dependency)的概念,用俗话说,就是我的项目需要用你这个jar包,就称 ...
- Tomcat无法启动解决办法
[2014-04-12 12:34:39] [error] [ 1080] 操作系统找不到已输入的环境选项. [2014-04-12 12:34:39] [error] [ 1052] Failed ...
- [atAGC022D]Shopping
称0到$L$的方向为左,同时为了方便,可以假设$0<t_{i}\le 2L$ 当我们确定是进入店中的方向,根据这个店的位置以及购物时间,不难确定出来时火车经过0或$L$的次数,由于$0<t ...
- js offset系列属性
offsetParent:返回该元素有定位的父级,如果父级都没有定位则返回body offsetTop:返回元素相对父级(带有定位的父级)上方的偏移 offsetLeft:返回元素相对父级(带有定位的 ...
- AtCoder Regular Contest 127 题解
sb atcoder 提前比赛时间/fn/fn/fn--sb atcoder 还我 rating/zk/zk/zk A 签到题,枚举位数 \(+\) 前导 \(1\) 个数然后随便算算贡献即可,时间复 ...
- Codeforces 1392I - Kevin and Grid(平面图的欧拉定理+FFT)
Codeforces 题面传送门 & 洛谷题面传送门 模拟赛考到一道和这题有点类似的题就来补了 神仙 GLBR I %%%%%%%%%%%%%%%%%%%% 不过感觉见过类似的题目之后就比较套 ...
- Codeforces 1413F - Roads and Ramen(树的直径+找性质)
Codeforces 题目传送门 & 洛谷题目传送门 其实是一道还算一般的题罢--大概是最近刷长链剖分,被某道长链剖分与直径结合的题爆踩之后就点开了这题. 本题的难点就在于看出一个性质:最长路 ...