T-SQL Part X: UNION, EXCEPT and INTERSECT

MSDN上關於EXCEPT和INTERSECT的文檔。MSDN上關於UNION的文檔

值得注意的是,UNION其實有兩種,一種是普通的UNION,另外一種是UNION ALL。加上EXCEPT和INTERSECT構成了T-SQL中的四種Set操作。

  • UNION ALL:把左表和右表合成一張表並返回;
  • UNION:把左表和右表去除重複項後,合成一張表並返回。換言之,UNION的結果集中沒有重複項。
  • EXCEPT:去除左表中曾出現在右表中的項,將左表中剩餘項返回。換言之,EXCEPT返回一個結果集,其中所有的項都只在左表中出現且並未出現在右表中。
  • INTERSECT:返回左表和右表都出現過的項。

示例一,找出所有沒有生成Order的Customer:

SELECT [ID] FROM Customers
EXCEPT
SELECT [ID] FROM Orders;
GO

示例二,找出所有既是Customer又是Vendor:

SELECT [ID] FROM Customers
INTERSECT
SELECT [ID] FROM Vendors;
GO

是爲之記。
Alva Chien
2016.6.15

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章