前言
集合常见的操作是 交并差
的操作,那么SQL语句是如何实现的呢?
1.交集
1.1 关键字 :InterSect形成交集
InterSect可以对两个或多个结果集进行连接,形成“交集”。返回左边结果集和右边结果集中都有的记录。
1.2限定条件
要是用Except来连接结果集,有4个限定条件。
(1)、子结果集要具有相同的结构。
(2)、子结果集的列数必须相同。
(3)、子结果集对应的数据类型必须可以兼容。
(4)、每个子结果集不能包含order by或compute子句。
1.3 语法形式
select_statement intersect select_statement
2.并集
2.1关键字:Union形成并集
Union可以对两个或多个结果集进行连接,形成“并集”。子结果集所有的记录组合在一起形成新的结果集。
2.2 限定条件
要是用Union来连接结果集,有4个限定条件。
(1)、子结果集要具有相同的结构。
(2)、子结果集的列数必须相同。
(3)、子结果集对应的数据类型必须可以兼容。
(4)、每个子结果集不能包含order by和compute子句。
2.3语法形式
`select_statement union [all] select_statement`
all代表不能删除重复行。
---
3.差集
3.1关键字Except形成差集
Except可以对两个或多个结果集进行连接,形成“差集”。 返回左边结果集合中已经有的记录,而右边结果集中没有的记录。
3.2 限定条件:
1、子结果集要具有相同的结构。
2、子结果集的列数必须相同。
3、子结果集对应的数据类型必须可以兼容。
4、每个子结果集不能包含order by 和 compute子句。
3.3 语法形式:
select_statement except select_statement
自动删除重复行。