和 UNION 指令類似, INTERSECT 也是對兩個 SQL 語句所產生的結果做處理的。不同的地方是, UNION 基本上是一個 OR (如果這個值存在於第一句或是第二句,它就會被選出),而 INTERSECT 則比較像 AND ( 這個值要存在於第一句和第二句才會被選出)。 UNION 是聯集,而 INTERSECT 是交集
INTERSECT 的語法如下:
[SQL語句 1]
INTERSECT
[SQL語句 2]
假設我們有以下的兩個表格,
A表格
Place Price Date
Los Angeles $1500 Jan-05-1999
San Diego $250 Jan-07-1999
Los Angeles $300 Jan-08-1999
Boston $700 Jan-08-1999
B表格
Date Price
Jan-07-1999 $250
Jan-10-1999 $535
Jan-11-1999 $320
Jan-12-1999 $750
而我們要找出哪幾天有店面交易和網絡交易。要達到這個目的,我們用以下的 SQL 語句:
SELECT Date FROM A
INTERSECT
SELECT Date FROM B
結果:
Date
Jan-07-1999
請注意,在 INTERSECT 指令下,不同的值只會被列出一次。