在本教程中,将学习如何使用SQL Server INTERSECT运算符组合两个输入查询的结果集,并返回两个输入中出现的不同行。
SQL Server INTERSECT简介
SQL Server INTERSECT组合了两个或多个查询的结果集,并返回两个查询输出的不同行。
以下是SQL Server INTERSECT的语法:
query_1
INTERSECT
query_2
与UNION运算符类似,上述语法中的查询必须符合以下规则:
- 两个查询必须具有相同的列数和顺序。
- 相应列的数据类型必须相同或兼容。
下图说明了INTERSECT操作:

在此图中,有两个结果集T1和T2:
- T1结果集元素包括:- 1,- 2和- 3。
- T2结果集元素包括:- 2,- 3和- 4。
T1和T2结果集的交集返回不同的行,即:2和3。
SQL Server INTERSECT示例
请考虑以下查询语句:
SELECT
    city
FROM
    sales.customers
INTERSECT
SELECT
    city
FROM
    sales.stores
ORDER BY
    city;
执行上面查询语句,得到以下结果:

第一个查询查找客户所在的所有城市,第二个查询查找商店的城市。 整个查询使用INTERSECT查找客户和商店的城市,这两个城市是两个查询输出的城市。
请注意,将ORDER BY子句添加到最后一个查询以对结果集进行排序。
						上一篇:
								SQL Server集合操作符
												下一篇:
								SQL Server约束
												
						
						
					
					
					