Oracle 表複雜查詢之多表合併查詢

2022-01-14 21:35:32 字數 2314 閱讀 3792

本文使用到的是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...