SQL查询:并集、差集、交集
2018-03-07 22:42
211 查看
新建两个表进行测试:
test_a
test_b
子结果集所有的记录组合在一起形成新的结果集。
1、限定条件
要是用UNION来连接结果集,有4个限定条件。
(1)、子结果集要具有相同的结构。
(2)、字结果集的列数必须相同。
(3)、子结果集对应的数据类型必须可以兼容。
(4)、每个子结果集不能包含order by和compute子句。
2、语法形式
3.示例:
无重复记录:
有重复记录:
返回左边结果集合中已经有的记录,而右边结果集中没有的记录。
1、限定条件
要是用EXCEPT来连接结果集,有4个限定条件。
(1)、子结果集要具有相同的结构。
(2)、字结果集的列数必须相同。
(3)、子结果集对应的数据类型必须可以兼容。
(4)、每个子结果集不能包含order by和compute子句。
2、语法形式
博主的MySQL版本不支持EXCEPT,暂用NOT IN展示结果。
返回左边结果集和右边结果集中都有的记录。
1、限定条件
要是用INNER JOIN来连接结果集,有4个限定条件。
(1)、子结果集要具有相同的结构。
(2)、字结果集的列数必须相同。
(3)、子结果集对应的数据类型必须可以兼容。
(4)、每个子结果集不能包含order by和compute子句。
2、语法形式
或
test_a
ID | name |
---|---|
1 | 曹操 |
2 | 郭嘉 |
3 | 孙权 |
4 | 周瑜 |
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);
相关文章推荐
- 使用cloudera impala sql 进行交集、并集、差集查询
- oracle中sql语句中多个查询结果的交集、差集和并集
- SQL查询交集、并集、差集
- SQL集合运算:差集、交集、并集
- SQL 操作结果集 -并集、差集、交集、结果集排序
- SQL 操作结果集 -并集、差集、交集、结果集排序
- [转]SQL 操作结果集 -并集、差集、交集、结果集排序
- SQL 操作结果集 -并集、差集、交集、结果集排序
- ORACLE 数据查询集合即:查询结果的集合操作 并集 交集 差集
- SQL 并集、差集、交集、结果集排序
- SQL的并集UNION,交集JOIN,交叉连接(CROSS JOIN笛卡尔积),差集(NOT IN)
- Oracle 多个查询结果的交集、差集和并集
- SQL集合运算 差集 并集 交集
- SQL语句实现交集、并集、差集、笛卡尔积
- SQL 操作结果集 -并集、差集、交集、结果集排序
- SQL 操作结果集 -并集、差集、交集、结果集排序
- SQL测试-------交集、并集、差集、笛卡尔积
- SQL集合运算 差集 并集 交集
- SQL 操作结果集 -并集、差集、交集、结果集排序
- SQL 操作结果集 -并集、差集、交集、结果集排序