和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 |
Los Angeles | 300 | jan-08-1999 |
San Francisco | 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
结果:
Date
Jan-07-1999
请注意,在INTERSECT 指令下,不同的值只会被列出一次。