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取并集 差集 交集
SQL并集(UNIOIN 去重 UNIOIN ALL不去重)交集(Intersect)差集(EXCEPT) MySQL仅支持并集,intersect用join替换,except用not in替换其他要 ...
- MySQL 查询 并集、交集、差集
MySQL查询交集.并集.差集 背景和使用的数据样本: 该章节学些主要涉及到Datawhale SQL 组队学习任务: 本次使用的数据,由Datawhale 开源提供,具体代码见文章尾部:各位看官可以 ...
- MySQL求交集 并集 差集
MySQL求交集 并集 差集 交集 两个表之间相同的 并集 两个表之间的总和 ps: union 自带去重 差集 两个表直接的差值
- 数据库-差集交集并集
数据库-差集交集并集 [toc] 图示 一.并集运算(UNION) 并集:两个集合的并集是一个包含集合A和B中所有元素的集合. 在T-SQL中,UNION集合运算可以将两个输入查询的结果组合成一个结果 ...
- Oracle的并集、交集、差集运算
Oracle中有并集.交集.差集的3种运算 1. union : 得到两个查询结果的并集,并且自动去掉重复行,不会排序. union all: 得到两个查询结果的并集,不会去掉 ...
- MySQL 并集、交集、差集
创建两个表 CREATE TABLE `object_a` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`oname` varchar(50) DEFAULT N ...
- oracle 并集 时间_Oracle集合运算符 交集 并集 差集
集合运算符:UNION/UNION ALL 并集,INTERSECT 交集,MINUS 差集 一.union求并集,公共部分只有包含一次 例:求emp表ename中含'A'或含有'M' SQL> ...
- oracle表交集并集,oracle交集,并集,差集
oracle交集,并集,差集 [sql] create table test1 ( name varchar(10), NN varchar(10) ); insert into test1 valu ...
- PHP求并集,交集,差集
PHP求并集,交集,差集 一.总结 一句话总结:在php中如果我想要对两个数组进行如并集.交集和差集操作,我们可直接使用php自带的函数来操作如array_merge(),array_intersec ...
- Java正则表达式--字符集范围:并集、交集和差集
Java正则表达式教程: http://www.java3z.com/cwbwebhome/article/article8/Regex/Java.Regex.Tutorial.html 其中第三章中 ...
最新文章
- centos7 JDK1.8
- 抓取一个连续的网页_搞懂各大搜索引擎蜘蛛的抓取规则,快速获得排名!
- Python(Dict和Set类型)
- c strlen C++ strlen
- c语言控制台数字键打地鼠,自己用C写的一个简单的打地鼠游戏代码出了个问题(鼠标和循环不能...
- boost::uuids::entropy_error相关的测试程序
- leetcode 676. Implement Magic Dictionary | 676. 实现一个魔法字典(DFS+Trie 前缀树)
- Centos7 安装mongodb记录
- Matplotlib基础(part2)--图形对象
- “FormCRUD.csProj.FormMain.Name”隐藏了继承的成员“System.Windows.Forms.Control.Name”。如果是有意隐藏,请使用关键字 new。...
- 如何使用命令强制DC的复制
- JAVA程序设计(11)-----面对对象0基础设计 麻将 创建麻将牌 然后洗牌 发牌~ 恩 就这样...
- 前后端分离项目,标准json协议格式参考
- react学习笔记--一--移动端项目搭建
- java基于ssm+mysql的宠物店管理系统 计算机毕业设计
- 机器学习实战0基础入门(一)之简单入门
- java手机号码加密_用户名-手机号加密特殊处理
- IOS 应用安全测试内容
- 网贴翻译 聆听国外的声音
- Docker 镜像和容器