7.17 SQL Server INTERSECT(交集)

SQL Server INTERSECT(交集)

简介

SQL Server INTERSECT组合了两个或多个查询的结果,并返回多个查询相同的行。

语法:

query_1
INTERSECT
query_2

UNION类似,上述语法中的查询必须符合以下规则:

  • 在两个查询中,列的数量和顺序必须相同
  • 对应列的数据类型必须相同或者兼容

在本图中,我们有两个结果集T1和T2:

  • T1结果集包括1、2和3。
  • T2结果集包括2、3和4。

T1和T2结果集的交集返回两个集合相同的行,即2和3。

示例

考虑以下查询:

SELECT
    city
FROM
    sales.customers
INTERSECT
SELECT
    city
FROM
    sales.stores
ORDER BY
    city;

第一个查询查找客户的所有城市,第二个查询查找商店的城市。整个查询使用INTERSECT,返回同时有客户和商店的城市,这是两个输入查询输出的城市。

如果要排序,将ORDER BY子句添加到最后一个查询中

posted @ 2023-01-29 11:25  平元兄  阅读(272)  评论(0编辑  收藏  举报