集合

作者: 践行数据分析 | 来源:发表于2021-06-19 16:57 被阅读0次

1 集合的定义

集合是由一个和多个元素构成的整体,在 SQL Server 中的就代表着事实集合,

而其中的查询就是在集合的基础上生成的结果集。SQL Server 的集合包括交集

(INTERSECT),并集(UNION),差集( EXCEPT )。

2 交集 INTERSECT

可以对两个或多个结果集进行连接,形成“交集”。返回左边结果集和右边结果集中

都有的记录,且结果不重复(这也是集合的主要特性)

交集限制条件

• 子结果集要具有相同的结构。

• 子结果集的列数必须相同

• 子结果集对应的数据类型必须可以兼容。

• 每个子结果集不能包含 order by 和 compute 子句。

3 并集 UNION

可以对两个或多个结果集进行连接,形成“并集”。子结果集所有的记录组合在一起

形成新的结果集。其中使用 UNION 可以得到不重复(去重)的结果集,使用

UNION ALL 可能会得到重复(不去重)的结果集。

并集限制条件

• 子结果集要具有相同的结构。

• 子结果集的列数必须相同

• 子结果集对应的数据类型必须可以兼容。

• 每个子结果集不能包含 order by 和 compute 子句。

UNION 示例

还是以上面的 City1 和 City2 为例,取两个表的并集,我们可以这样写 SQL:

SELECT * FROM City1

UNION

SELECT * FROM City2

结果如下:

我们看到,北京和上海去掉了重复的记录,只保留了一次

UNION ALL 示例

我们再看看使用 UNION ALL 会怎么样?

SELECT * FROM City1

UNION ALL

SELECT * FROM City2

结果如下:

与上面的 UNION 相比,UNION ALL 仅仅是对两个表作了拼接而已,北京和上海

依然在下面重复出现了,而且细心的读着应该发现了,UNION 还会对结果进行排

序,而 UNION ALL 不会。

4 差集 EXCEPT

可以对两个或多个结果集进行连接,形成“差集”。返回左边结果集合中已经有的记

录,而右边结果集中没有的记录。

差集限制条件

• 子结果集要具有相同的结构。

• 子结果集的列数必须相同

• 子结果集对应的数据类型必须可以兼容。

• 每个子结果集不能包含 order by 和 compute 子句。

差集示例

以 City1 和 City2 为例,我们想取 City1(左表)和 City2(右表)的差集,可以

这样写 SQL:

SELECT * FROM City1

EXCEPT

SELECT * FROM City2

结果如下:

我们看到,因为北京和上海在两个表都存在,差集为了只显示左表中有的,而右表

中没有的,就把这两个给过滤掉了。

相关文章

  • 我的Swift的学习总结 -->第二周

    集合 集合:Set,定义一个集合可以写成:var 集合名 : Set<集合类型> = [集合元素],具体的集合应用...

  • markdown 测试

    集合 集合 集合 引用

  • kotlin学习第五天:集合,高阶函数,Lambda表达式

    集合 list集合 list集合分为可变集合与不可变集合。由list of创建的集合为不可变集合,不能扩容,不能修...

  • kotlin练习 ---- 集合练习

    kotlin练习 - 集合练习 Set集合 Set集合创建 Set集合的使用 List集合 List集合创建 Li...

  • 集合总结

    集合 集合分为单列集合和双列集合两种: 一.单列集合: Collection是单列集合的顶级接口: 其中有三类集合...

  • 映射、元组、集合

    映射 元组 集合 集合之seq 集合之set 集合之map

  • 16.Collection集合

    主要内容: Collection 集合 迭代器 增强for List 集合 Set 集合 1,集合 集合是java...

  • 集合与有序集合

    集合分为有序集合 (zset) 和无序集合 (set), 一般无序集合也直接说成集合 无序集合 (set) 无序集...

  • python入坑第八天|集合

    好的,各位蛇友,我们今天来学习集合。 内容: 集合的创建 集合操作符号 集合的内置函数 集合的创建 集合用set(...

  • 集合框架

    集合框架的概念 集合:存放数据的容器 集合框架:java中,用于表示集合,以及操作集合的类和接口的统称 数组与集合...

网友评论

    本文标题:集合

    本文链接:https://www.haomeiwen.com/subject/stocyltx.html