在本教學中,將學習如何使用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約束