本文关键详细介绍了sql server 相交,差集的使用方法详细说明,原文中根据实例编码详细介绍的十分详尽,对大伙儿的学习培训或是工作中具备一定的参照学习培训使用价值,必须的小伙伴们下边伴随着我来一起学习了解一下吧
简述
为何应用集合运算:
在集合运算中比连接 查看和EXISTS/NOT EXISTS更便捷。
或且计算(UNION)
或且:2个结合的或且是一个包括结合A和B中全部原素的结合。
在T-SQL中。UNION集合运算能够将2个键入查看的結果组成一个結果集。必须留意的是:假如一个行至一切一个键入结合中出現,它也会在UNION计算的結果中出現。T-SQL适用下列二种选择项:
(1)UNION ALL:不容易删掉反复行
-- union allselect
country, region, city from hr.Employees
union all
select country, region, city from sales.Customers;
(2)UNION:会删掉反复行
-- union
select country, region from hr.Employees
union
select country, region from sales.Customers;
相交计算(INTERSECT)
相交:2个结合(记为结合A和结合B)的相交是由既归属于A,也归属于B的全部元素组成的结合。
在T-SQL中,INTERSECT集合运算对2个键入查看的結果取其相交,只回到在2个查看結果集中化都出現的行。
INTERSECT集合运算在逻辑性上面最先删掉2个键入集中化的反复行,随后回到只在2个结合中上都出現的行。也就是说:假如一个行至2个键入集中化都最少出現一次,那麼相交回到的結果里将包括这一行。
比如,下边回到既是员工详细地址,也是顾客详细地址的不一样详细地址:
-- intersect
select country, region, city from hr.Employees
intersect
select country, region, city from sales.Customers;
这儿必须说的是,集合运算对行开展较为时,觉得2个NULL值相同,因此 就回到这家银行纪录。
差集计算(EXCEPT)
差集:2个结合(记为结合A和结合B)的由归属于结合A,但不属于结合B的全部元素组成的结合。
在T-SQL中,结合之差应用EXCEPT集合运算完成的。它对2个键入查看的結果集开展实际操作,反会出現在第一个結果集中化,但不出現在第二个結果集中化的全部行。
EXCEPT融合计算在逻辑性上最先删掉2个键入集中化的反复行,随后回到只在第一个结合中出現,在第二个結果集中化不出現的全部行。也就是说:一个行可以被回到,仅当这一行至第一个键入的结合中最少出現过一次,并且在第二个结合中一次也没出現过。