方法:1、利用union合并查詢,去掉合并結果集中的重復行;2、利用“union all”合并查詢,不會去掉結果集重復行;3、利用intersect合并查詢,取查詢結果的交集;4、利用minus合并查詢,取查詢結果的差集。
本教程操作環(huán)境:Windows10系統(tǒng)、oracle 11g版、Dell G3電腦。
oracle怎樣查詢合并
有時在實際應用中,為了合并多個select語句的結果,可以使用集合操作符號union,union all,intersect,minus。
多用于數(shù)據(jù)量比較大的數(shù)據(jù)局庫,運行速度快。
1). union
該操作符用于取得兩個結果集的并集。當使用該操作符時,會自動去掉結果集中重復行。
示例如下:
SELECT?ename,?sal,?job?FROM?emp?WHERE?sal?>2500 UNION SELECT?ename,?sal,?job?FROM?emp?WHERE?job?=?'MANAGER';
2).union all
該操作符與union相似,但是它不會取消重復行,而且不會排序。
示例如下:
SELECT?ename,?sal,?job?FROM?emp?WHERE?sal?>2500 UNION?ALL SELECT?ename,?sal,?job?FROM?emp?WHERE?job?=?'MANAGER';
該操作符用于取得兩個結果集的并集。當使用該操作符時,不會自動去掉結果集中重復行。
3). intersect
使用該操作符用于取得兩個結果集的交集。
示例如下:
SELECT?ename,?sal,?job?FROM?emp?WHERE?sal?>2500 INTERSECT SELECT?ename,?sal,?job?FROM?emp?WHERE?job?=?'MANAGER';
4). minus
使用該操作符用于取得兩個結果集的差集,他只會顯示存在第一個集合中,而不存在第二個集合中的數(shù)據(jù)。
示例如下:
SELECT?ename,?sal,?job?FROM?emp?WHERE?sal?>2500 MINUS SELECT?ename,?sal,?job?FROM?emp?WHERE?job?=?'MANAGER';
(MINUS就是減法的意思)
推薦教程:《Oracle視頻教程》
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦