zoukankan      html  css  js  c++  java
  • TSQL查询进阶数据集之间的运算

    关键字: EXCEPT 和 INTERSECT关键字

    EXCEPT

    返回 EXCEPT左边的查询返回,右边的查询未返回的所有非重复值。

    INTERSECT

    返回 INTERSECT 左右两边的两个查询均返回的所有非重复值。

    A. 使用 EXCEPT

    在示例中使用 TableA 和 TableB 中的数据。

    TableA (col1 int) TableB (col1 int)

    NULL

    NULL

    NULL

    1

    NULL

    3

    1

    4

    2

    4

    2

    2

    3

    4

    4

    以下查询从 EXCEPT 操作数左侧的查询返回右侧查询没有找到的所有非重复值。

    SELECT * FROM TableA EXCEPT SELECT * FROM TableB;

    下面是结果集: 

    Col1
                -----------
                2
                (1 row(s) affected)

    B. 使用 INTERSECT

    在示例中使用 TableA 和 TableB 中的数据。

    TableA (col1 int) TableB (col1 int)

    NULL

    2

    NULL

    2

    NULL

    2

    1

    4

    2

    4

    2

    2

    3

    4

    4

    以下查询返回 INTERSECT 操作数左右两侧的两个查询均返回的所有非重复值。

    SELECT * FROM TableA INTERSECT SELECT * FROM TableB;

    下面是结果集: 

    Col1
                -----------
                2
                4
                (2 row(s) affected)


     

    数据集运算的条件

          并不是所有的数据集都可以做运算。就像一个苹果+一个鸭梨不能等于2一样,在T-SQL中,数据集之间的运算需要符合下面3个条件:

         1.两个数据集之间必须有相同数量的列(Column)

         2.两个数据集之间列出现的次序必须一致

         3.两个数据集之间每一个对应的列的数据类型必须匹配

  • 相关阅读:
    PHP 原型模式
    PHP 观察者模式
    PHP 策略模式
    PHP 适配器模式
    PHP static静态属性和静态方法
    PHP中this,self,parent三个关键字
    PHP 单例模式
    git修改账号密码-命令行
    微信开发SDK推荐
    Java并发编程:线程池的使用
  • 原文地址:https://www.cnblogs.com/zhc088/p/2210218.html
Copyright © 2011-2022 走看看