T-SQL查询进阶--数据集之间的运算
来源:网络 责任编辑:栏目编辑 发表时间:2013-07-02 04:48 点击:次
概述
关系数据库的起源起源于数学中的集合概念.所以集合与集合之间,也同样继承了数学集合之间的运算.而对于在关系数据库中,常常用于两个数据集中并没有直接的关系数据库中的“关系”,比如外键.但两个数据集会有间接的关系,比如两届比赛,参加比赛人员集合之间会有间接关系.
数据集运算的种类
在T-SQL中,关系运算实际上可以分为四类,首先看我们举例子用的表:
这里的例子表分别为两个不同会议参加的人员记录,分别为Meeting1和Meeting2,如下:
关系运算的具体可以分为以下四类:
1.A∩B,既是所求数据集既在A中,又在B中
在实例表中,实际的例子为既参加第一个会议,又参加第二个会议人的集合,如下图:
2.A∪B,既所求数据在数据集A中,或在数据集B中
在实例表中,实际的例子为参加第一个会议,或参加第二个会议人的集合,如下图:
3.A-B,既所求数据在数据集A中,不在数据集B中
在实例表中,实际的例子为参加了第一个会议,同时没有参加第二个会议的人的集合,如下图:
4.B-A,既所求数据在数据集B中,不在数据集A中
这个其实和上面第三种情况没有本质区别,只是顺序颠倒了一下,如下图:
数据集的来源
在T-SQL中,参与数据集运算的两个数据集可以来自任何返回数据集的表达式.比如,一张表,一张表的子集,多张表,临时表变量,虚拟列,甚至是一个scalar值
数据集运算的条件
并不是所有的数据集都可以做运算。就像一个苹果+一个鸭梨不能等于2一样,在T-SQL中,数据集之间的运算需要符合下面3个条件:
1.两个数据集之间必须有相同数量的列(Column
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>