• SQLServer之集合


    集合的定义

    集合是由一个或多个元素构成的整体,在SQLServer中的表就代表着事实集合,而其中的查询就是在集合的基础上生成的结果集。SQL Server的集合包括交集(INTERSECT)、并集(UNION)、差集(EXCEPT)。 

    交集(INTERSECT)

    可以对两个多个结果集进行连接,形成"交集"。返回左边结果集和右边结果集中都有的记录,且结果不重复(这也是集合的主要特性)

    交集限制条件

    • 子结果集要有相同的结构。
    • 子结果集的列数必须相同。
    • 子结果集对应的数据类型必须可以兼容。
    • 每个子结果集不能包含order by和compute子句。

    交集语法

    select * from 结果集
    intersect
    select * from 结果集

    交集示例

    select name from [testss].[dbo].[schema_table1]
    intersect
    select name from [testss].[dbo].[test1]

     并集(UNION and UNION ALL)

    可以对两个或多个结果集进行连接,形成并集。子结果集所有的记录组合在一起形成新的结果集,其中使用UNION可以得到不重复(去重复)的结果集,使用UNION ALL会得到重复(不去重的结果集)。

    并集限制条件

    • 子结果集要具有相同的结构。
    • 子结果集的列数必须相同。
    • 子结果集对应的数据类型必须可以兼容。
    • 每个子结果集不能包含order by 和compute子句

     并集(UNION)语法

    select * from 结果集
    union 
    select * from 结果集

    并集(UNION)示例

    select name from [testss].[dbo].[schema_table1]
    union
    select name from [testss].[dbo].[test1] 

    并集(UNION ALL)语法

    select * from 结果集
    union all
    select * from 结果集
    

      

    并集(UNION ALL)示例

    select name from [testss].[dbo].[schema_table1]
    union all
    select name from [testss].[dbo].[test1] 

    差集(EXCEPT)

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

    差集限制条件

    • 子结果集要具有相同的结构。
    • 子结果集的列数必须相同。
    • 子结果集对应的数据类型必须可以兼容。
    • 每个子结果集不能包含Order by和compute子句。

    差集(EXCEPT)语法

    select * from 结果集
    except
    select * from 结果集

    差集(EXCEPT)示例

    select name from [testss].[dbo].[schema_table1]
    except
    select name from [testss].[dbo].[test1] 

    提示

    集合是我们数据处理过程中的理论基础,可以通过集合的观点去很好的理解不同的查询语句。每一个物理表就是一个集合,当我们要对表进行操作的时候,将它们看成对集合的操作就很好理解了。

  • 相关阅读:
    未能导入activex控件,请确保它正确注册
    【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置
    回调函数
    struct--------构造函数对结构体初始化的影响
    调用约定
    HDU 4923 Room and Moor
    Codeforces 260 C. Boredom
    Codeforces 260 B. Fedya and Maths
    Codeforces 260 A
    HNU 12888 Encryption(map容器)
  • 原文地址:https://www.cnblogs.com/vuenote/p/10634577.html
Copyright © 2020-2023  润新知