和 UNION 指令类似,
INTERSECT 也是对两个 SQL 语句所产生的结果做处理的。
不同的地方是, UNION 基本上是一个 OR (如果
这个值存在于第一句或是第二句,它就会被选出),而 INTERSECT 则
比较像 AND ( 这个值要存在于第一句和第二句才会被选出)。
UNION 是联集,而 INTERSECT 是交集。
INTERSECT 的语法如下:
[SQL语句 1]
INTERSECT
[SQL语句 2]
假设我们有以下的两个表格,
|
Store_Information 表格
|
store_name
|
Sales
|
Date
|
|
Los Angeles
|
$1500
|
Jan-05-1999
|
|
San Diego
|
$250
|
Jan-07-1999
|
|
Los Angeles
|
$300
|
Jan-08-1999
|
|
Boston
|
$700
|
Jan-08-1999
|
|
Internet Sales 表格
|
Date
|
Sales
|
|
Jan-07-1999
|
$250
|
|
Jan-10-1999
|
$535
|
|
Jan-11-1999
|
$320
|
|
Jan-12-1999
|
$750
|
|
而我们要找出哪几天有店面交易和网络交易。要达到这个目的,我们用以下的 SQL 语句:
SELECT Date FROM Store_Information
INTERSECT
SELECT Date FROM Internet_Sales
结果:
请注意,在 INTERSECT 指令下,不同的值只会被列出一次。