和 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 指令下,不同的值只会被列出一次。