新建两个表进行测试:

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查询:并集、差集、交集的更多相关文章

  1. SQL Server操作结果集-并集 差集 交集 结果集排序

    操作结果集 为了配合测试,特地建了两个表,并且添加了一些测试数据,其中重复记录为东吴的人物. 表:Person_1魏国人物 表:Person_2蜀国人物 A.Union形成并集 Union可以对两个或 ...

  2. 总结 sql 的 并集、交集、差集

    有两个表 ,表a ,表b , create table a { age  int , name varchar(20) } ending=innodb; insert into a values(13 ...

  3. 012_py之证书过期监测及域名使用的py列表的并集差集交集

    一.由于线上域名证书快要过期,需要进行监测,顾写了一个方法用于线上证书过期监测,如下: import ssl,socket,pprint def check_domain_sslexpired(dom ...

  4. sql server中取交集、差集和并集的语法

    这里简单总结下在SQL Server中取交集.差集和并集的语法. 交集:INTERSECT(适用于两个结果集) SELECT ID, NAME FROM YANGGB1 INTERSECT SELEC ...

  5. List之Union(),Intersect(),Except() 即并集,交集,差集运算。

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  6. java8 集合求差集、并集、交集

    前言 java8里最大亮点是lambda,让我们用习惯C# linq的语法,也能眼前一亮.但是比起C#的语法糖还是差的很远. 差集.并集.交集 @Test public void test1(){ L ...

  7. PHP求并集,交集,差集

    PHP求并集,交集,差集 一.总结 一句话总结:在php中如果我想要对两个数组进行如并集.交集和差集操作,我们可直接使用php自带的函数来操作如array_merge(),array_intersec ...

  8. python 并集union, 交集intersection, 差集difference, 对称差集symmetric_difference

    python的集合set和其他语言类似,是一个无序不重复元素集, 可用于消除重复元素. 支持union(联合), intersection(交), difference(差)和sysmmetric d ...

  9. (java/javascript) list 交集 并集 差集 去重复并集

    java list 交集 并集 差集 去重复并集 package com; import java.util.ArrayList; import java.util.Iterator; import ...

  10. Python 求两个文本文件以行为单位的交集 并集 差集

    Python 求两个文本文件以行为单位的交集 并集 差集,来代码: s1 = set(open('a.txt','r').readlines()) s2 = set(open('b.txt','r') ...

随机推荐

  1. Java 代码执行流程

    Java 代码执行流程 类加载过程 加载 -> 验证 -> 准备 -> 解析 -> 初始化 -> 使用 -> 卸载 类加载时机:代码使用到这个类时 验证阶段 &qu ...

  2. 大爽Python入门教程 2-1 认识容器

    大爽Python入门公开课教案 点击查看教程总目录 1 什么是容器 先思考这样一个场景: 有五个学生,姓名分别为: Alan, Bruce, Carlos, David, Emma. 需要给他们都打一 ...

  3. c++ 中vector 常见用法(给初学者)

    c++ 中 vector vector有两个参数,一个是size,表示当前vector容器内存储的元素个数,一个是capacity,表示当前vector在内存中申请的这片区域所能容纳的元素个数. ca ...

  4. [atARC121E]Directed Tree

    令$b_{a_{i}}=i$,那么问题即要求$i$不是$b_{i}$的祖先,也即$b_{i}$不严格在$i$的子树中 显然$a_{i}$和$b_{i}$一一对应,因此我们不妨统计$b_{i}$的个数 ...

  5. [bzoj1391]order

    考虑最小割,即最少要去掉多少收益先S向所有机器连边,流量为购买费用:所有机器向工作连边,流量为租借费用:工作向T连边,流量为收益那么对于每一个工作,要么割掉连向T的边,要么购买/租借所有机器,同时由于 ...

  6. 【Golang】基于beego/orm实现相同表结构不同表名的分表方法实现

    一.背景 在业务场景开发的过程中, 随着数据量的增加,相同表结构不同表名的分表策略是常用的方案选择之一.如下以golang做为后端业务开发,尝试修改beego的orm库做一个相同表结构不同表名的分表实 ...

  7. 和安卓对接老是ping不通?试试内网映射

    https://ngrok.cc/download.html

  8. html+css第十篇-命名

    命名:根据每块元素的主题 或者功能.在页面上的位置 php 每个单词中间以"_"隔开 #main_left_box{} 驼峰命名 从第二个单词开始每个单词的首字母大写 #mainL ...

  9. Sums gym100753M

    Sums gym100753M 同余最短路模板,然而这个东西貌似也可以做去年D1T2 首先我们选择一个模数作为基准,然后剩下的这样连边: 对于一个面值为 x 的硬币 ,当前在 u 这个点(感性理解一下 ...

  10. python8 标准模块和第三方模块