本文使用到的是oracle資料庫scott方案所帶的表,scott是oracle資料庫自帶的方案,使用前請確保其解鎖
oracle合併查詢一共有四種方式,分別使用不同的關鍵字:union、union all、minus、intersect
使用union all,表示取a、b的合集,不過濾重複的資料行,**如下:
左圖表示結果集a
左圖表示結果集b
現在分析結果集a和結果集b,發現
紅框中的資料重複了,接著我們在使用union all關鍵字
union all 重複資料並沒有被排除掉
使用union,會將結果集a和結果集b進行union all運算,然後取兩者交集的餘集作為結果集
**如下:
原先使用union all中重複的記錄行被排除掉了
使用intersect,會將結果集a和結果集b進行union all運算,然後兩者之間的集交集作為結果集和union剛好相反
select將兩個結果集的交集檢索出來了*from emp where sal>
2500
intersect
select
*from emp where job=
'manager
'
使用minus,取結果集a減去結果集b留下的差集,注:如果結果集a小於等於結果集b,返回空結果集.
左圖表示結果集a
左圖表示結果集b
select*from emp where sal>
2500
minus
select
*from emp where job=
'manager
'
Oracle之多表查詢
多表查詢的基礎語法 select 查詢列 1 別名1,查詢列 2 別名2,from 表名稱1 別名1 名稱2 別名2 給出幾個例子吧。1.select e.ename,e.sal,d.dname,s.grade,m.ename,m.sal,ms.grade from emp e,dept d,sal...
Oracle篇 之 多表查詢
一 概念 從多個表中查詢資料時,需要在表和表間建立連線,一般使用主外來鍵建立連線 二 連線種類 1 等連線 連線條件使用等號 非等連線 連線條件使用等號以外的其它符號 2 內連線 根據指定的連線條件進行連線查詢,滿足連線條件的資料才會出現在結果集 最常見的等值連線 外連線 在內連線的基礎上,將某個連...
oracle高階查詢之多表查詢
多張表查詢產生的表的列數等於所有表的列數之和,行數等於多張表之積 等值連線 select e.empno,e.ename from emp e,dept d where e deptno d.deptno 不等值連線 select e.empno,e.ename e.sal from emp e,d...