大家好,关于Oracle 交集(intersect)、并集(union union all)、差集(minus)差集很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!
创建表TEST_2016
(
VARCHAR2(200),
B VARCHAR2(100),
C VARCHAR2(50)
);
–创建表
创建表TEST_2017
(
VARCHAR2(200),
B VARCHAR2(100),
C VARCHAR2(50)
);
然后将以下数据插入test_2016:
INSERT INTO TEST_2016 (A,B) VALUES (1,’张三’);
INSERT INTO TEST_2016 (A,B) VALUES (2,’李思’);
INSERT INTO TEST_2016 (A,B) VALUES (3,’王五’);
INSERT INTO TEST_2016 (A,B) VALUES (4,’赵刘’);
INSERT INTO TEST_2016 (A,B) VALUES (5,’千霸’);
INSERT INTO TEST_2016 (A,B) VALUES (6,’李九’);
INSERT INTO TEST_2016 (A,B) VALUES (7,’高十’);
插入TEST_2016 (A,B) 值(8,’笑十一’);
然后将以下数据插入test_2017:
INSERT INTO TEST_2017 (A,B) VALUES (1,’张三’);
INSERT INTO TEST_2017 (A,B) VALUES (2,’李思’);
INSERT INTO TEST_2017(A,B) VALUES (3,’王五’);
INSERT INTO TEST_2017 (A,B) VALUES (4,’赵刘’);
INSERT INTO TEST_2017 (A,B) VALUES (5,’千霸’);
INSERT INTO TEST_2017 (A,B) VALUES (6,’李九’);
INSERT INTO TEST_2017 (A,B) VALUES (7,’高十’);
INSERT INTO TEST_2017 (A,B) VALUES (8,’笑十一’);
INSERT INTO TEST_2017 (A,B) VALUES (9,’笑十二’);
1、求交集( INTERSECT 用法)
然后对比数据:
从test_2017 中选择b
相交
从test_2016 中选择b;
结果:
高十
李九
约翰·多伊
钱霸
王武
笑十一
张三
赵刘
2、并集(union union all)
然后对比数据:
从test_2017 中选择b
联盟
从test_2016 中选择b;
结果:
高十
李九
约翰·多伊
钱霸
王武
笑十二
笑十一
张三
赵刘
然后对比数据:
从test_2017 中选择b
联合所有
从test_2016 中选择b;
结果(注意:union all 不会合并相同的项目):
张三
约翰·多伊
王武
赵刘
钱霸
李九
高十
笑十一
笑十二
张三
约翰·多伊
王武
赵刘
钱霸
李九
高十
笑十一
3、取差集(minus)
然后对比数据:
从test_2017 中选择b
减
从test_2016 中选择b;
结果:
原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/198682.html
用户评论
淡写薰衣草的香
终于找到了解释 Oracle 交集、并集和差集区别的文章!我一直觉得这些操作很绕,看下图还是特别清晰,学习新知识果然要找合适的教程啊!
有6位网友表示赞同!
■孤独像过不去的桥≈
这篇文章把各种场景都举得真棒,例如“查询重复客户”这种例子让我一下子就明白了交集是怎么利用的!以前总是只知道概念,没法具体应用,现在终于能灵活运用这些了。
有6位网友表示赞同!
£烟消云散
我遇到过很多数据整合项目,常常需要使用并集和差集操作,这篇文章讲解得清晰易懂。感谢作者分享经验!
有20位网友表示赞同!
长裙绿衣
我觉得文章中关于UNION ALL速度的讲解很有帮助!之前总是理解模糊不清,现在终于明白为什么UNION ALL 效率更高了,以后我会优先考虑它。
有18位网友表示赞同!
情深至命
虽然文章解释的很清楚,但我还是有些困惑,“MINUS”操作里为什么不能包含空值呢?这会给我带来一些实际上的问题吗?有没有人能解答一下?
有14位网友表示赞同!
冷月花魂
刚学完SQL,看到这篇博文正好可以巩固知识。Oracle的这些操作真的很有用,希望以后还能遇到更多类似精简又实用的文章!
有12位网友表示赞同!
你瞒我瞒
这篇文章太实用了!我已经把它收藏起来了,以后经常要用到!作者辛苦啦!感谢你的分享!
有20位网友表示赞同!
遗憾最汹涌
我觉得文章中有些例子过于简单化了,实际项目中交集、并集和差集的应用场景更复杂一些。希望能看到更多实际案例和探讨。
有17位网友表示赞同!
墨城烟柳
虽然文章讲解的比较全面,但我还是觉得图示可以更清晰一点,尤其是在描述“MINUS”操作时,不同类型数据之间的处理规则更加直观描述会更好懂。
有8位网友表示赞同!
纯真ブ已不复存在
我感觉 Oracle 的这些操作其实应用场景非常广泛,不仅限于数据库查询,还可以用于其他领域的数据处理。希望作者以后能够多探索一些新的应用案例。
有16位网友表示赞同!
夜晟洛
这篇文章讲得真好!终于让我明白怎么用intersect、union 和 minus 来合并和筛选数据了!以前总觉得SQL太难学,现在感觉像发现新世界一样!
有11位网友表示赞同!
太易動情也是罪名
我之前一直以为Oracle 交集、并集和差集操作很简单,结果没想到还有这么多细节。这篇文章真是开拓我的眼界啊!以后再也不用迷茫了。
有19位网友表示赞同!
摩天轮的依恋
UNION ALL的操作速度确实更快,但有时候数据不需要去重复的时候还是更倾向于用UNION吧,毕竟输出结果可以保证独一无二,对某些场景来说更为合适。
有15位网友表示赞同!
陌上蔷薇
我觉得这篇文章缺少一些更具体的例子和代码片段,这样更容易理解这些操作的具体应用场景。期待作者能够补充一些示例内容,让文章更加实用!
有19位网友表示赞同!
爱到伤肺i
我目前用的数据库不是Oracle,这篇文章对我帮助不大,希望作者能在其他数据库类型上也分享相关的知识,比如MySQL 或PostgreSQL 的操作和区别。
有10位网友表示赞同!
墨城烟柳
学习数据库的时候总觉得这些操作很难理解,这篇博文非常有用,把复杂的概念解释得简单清晰,我已经记住了!
有7位网友表示赞同!
◆残留德花瓣
Oracle 确实很棒,它提供的这些数据库操作功能非常强大,可以灵活进行数据处理,真是让人感叹。
有17位网友表示赞同!
暖瞳
之前一直没搞清楚 INTERSECT 、UNION 和 MINUS 的具体区别是什么,现在终于明白了!感谢作者的详细解释和清晰的例子!
有20位网友表示赞同!