《oracle及sqlserver中intersect的用法》由会员分享,可在线阅读,更多相关《oracle及sqlserver中intersect的用法(3页珍藏版)》请在金锄头文库上搜索。
1、Intersect返回两个输入集合的交集,可以选择保留重复项。 语法Intersect(Set1, Set2, ALL)注释此函数返回 Set1 和 Set2 的交集。根据默认设置,在相交之前先删除两个集合中的重复项。 可选的 ALL 保留重复项。ALL 有几种工作方式。算法是:不重复的元素照常相交。对于 Set1 中的每个重复项,将其与 Set2 中的重复项相匹配,如果存在匹配的项,则在交集中保留匹配的重复项。示例Intersect(1994, 1995, 1996, 1995, 1996, 1997)返回集合 1995, 1996。和 UNION 指令类似, INTERSECT 也是对两个
2、 SQL 语句所产生的结果做处理的。不同的地方是, UNION 基本上是一个 OR (如果这个值存在于第一句或是第二句,它就会被选出),而 INTERSECT 则比较像 AND ( 这个值要存在于第一句和第二句才会被选出)。 UNION 是联集,而 INTERSECT 是交集。 INTERSECT 的语法如下: SQL语句 1INTERSECTSQL语句 2 假设我们有以下的两个表格, Store_Information 表格store_name Sales Date Los Angeles $1500 Jan-05-1999 San Diego $250 Jan-07-1999 Los An
3、geles $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_InformationINTERSECTSELECT Date FROM Internet_Sales 结果: DateJan-07-1999请注意,在 INTERSECT 指令下,不同的值只会被列出一次。