INTERSECT 返回 两个结果集的交集(即两个查询都返回的所有非重复值)。
UNION 返回两个结果集的并集。
和 UNION 指令类似,INTERSECT 也是对两个 SQL 语句所产生的结果做处理的。不同的地方是, UNION 基本上是一个 OR (如果这个值存在于第一句或是第二句,它就会被选出),而 INTERSECT 则比较像 AND ( 这个值要存在于第一句和第二句才会被选出)。UNION 是联(并)集,而 INTERSECT 是交集。
INTERSECT 的语法如下:
[SQL语句 1] INTERSECT [SQL语句 2];
假设我们有以下的两个表格,
Store_Information 表
Store_Name Sales Txn_Date
Los Angeles 1500 05-Jan-1999
San Diego 250 07-Jan-1999
Los Angeles 300 08-Jan-1999
Boston 700 08-Jan-1999
Internet Sales 表
Txn_Date Sales
07-Jan-1999 250
10-Jan-1999 535
11-Jan-1999 320
12-Jan-1999 750
而我们要找出哪几天有店面交易和网络交易。要达到这个目的,我们用以下的 SQL 语句:
SELECT Txn_Date FROM Store_Information INTERSECT SELECT Txn_Date FROM Internet_Sales;
结果:
Txn_Date Jan-07-1999
请注意,在 INTERSECT 指令下,不同的值只会被列出一次。
感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程
上一篇:命令模式(Command Pattern)
下一篇:前言
^