方法:1、利用union合併查詢,去掉合併結果集中的重複行;2、利用「union all」合併查詢,不會去掉結果集重複行;3、利用intersect合併查詢,取查詢結果的交集;4、利用minus合併查詢,取查詢結果的差集。
本教學操作環境:Windows10系統、Oracle 11g版、Dell G3電腦。
有時在實際應用中,為了合併多個select語句的結果,可以使用集合運算符號union,union all,intersect,minus。
多用於資料量比較大的資料局庫,運行速度快。
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
使用該運算元用於取得兩個結果集的差集,他只會顯示存在第一個集合中,而不存在第二個集合中的資料。
範例如下:
SELECT ename, sal, job FROM emp WHERE sal >2500 MINUS SELECT ename, sal, job FROM emp WHERE job = 'MANAGER';
(MINUS就是減法的意思)
推薦教學:《Oracle影片教學》
以上是oracle怎麼查詢合併的詳細內容。更多資訊請關注PHP中文網其他相關文章!