Oracle表的連線查詢總結

2021-08-01 20:08:41 字數 2162 閱讀 9886

關鍵字:inner join/join

所謂內部鏈結也可以稱為簡單連線,它連線兩個或多個表,只返回符合連線條件的行。

下面通過**進行簡單示例:

表tablel1

columna

columnb

columnc

x1y1

z1x2

y2z2

x3y3y3

表tablel2

columna

columnd

columne

x4d4

e4x2

d2e2

x3d3e3

table1 inner join tablel2 on table1.columna = tablel2.columnb

結果表:

columna

columnc

columnd

columne

columnf

x2y2

z2d2

e2x3

y3z3

d3e3

左外連線

關鍵字:left outer join/left join

使用左外連線的查詢,包含了左邊表中的全部記錄,右邊表則只返回符合連線條件的記錄,如果左邊表的某行記錄在右邊表中沒有匹配項,則在返回結果中右邊表的對應處為空。

示例如下:

表tablel1

columna

columnb

columnc

x1y1

z1x2

y2z2

x3y3y3

表tablel2

columna

columnd

columne

x4d4

e4x2

d2e2

x3d3e3

table1 left outer join tablel2 on table1.columna = tablel2.columnb

結果表:

columna

columnc

columnd

columna

columne

columnf

x2y2

z2x2

d2e2

x3y3

z3x3

d3e3

x1y1

z1null

null

null

右外連線

關鍵字:right outter join/right join

與左外連線相反,將右邊表中所有的資料與左邊表進行匹配,返回的結果包含了匹配成功的記錄,也包含了右邊表中未匹配成功的記錄,並在其左邊對應的列處添補空值。

表tablel1

columna

columnb

columnc

x1y1

z1x2

y2z2

x3y3y3

表tablel2

columna

columnd

columne

x4d4

e4x2

d2e2

x3d3e3

table1 right outer join tablel2 on table1.columna = tablel2.columnb

結果表:

columna

columnc

columnd

columna

columne

columnf

x2y2

z2x2

d2e2

x3y3

z3x3

d3e3

null

null

null

x4d4e4

全外連線

columna

columnc

columnd

columna

columne

columnf

x2y2

z2x2

d2e2

x3y3

z3x3

d3e3

x1y1

z1null

null

null

null

null

null

x4d4

e4

Oracle學習 之 表的連線查詢

這個內容在資料庫系統中已經學習過了,這只簡單介紹oracle中join的方式和注意點 簡介 自然連線將兩個資料來源中具有相同名稱的列進行連線。select from 表1 natural join 表2 簡介 又稱為簡單連線,它把兩個或多個表進行連線,只查出匹配的記錄,不匹配的記錄將無法查詢出來。即...

oracle的多表查詢與表的連線

一 多表查詢 在任何多表查詢中一定會產生笛卡爾積的問題,但是,笛卡爾積產生的結果對於使用者來說是毫無意義的,是重複的無用資料。因此我們需要消除笛卡爾積,那麼在多表查詢的時候,就必須要有關聯字段。範例 emp.deptno dept.deptno 兩張表中的關聯欄位將消除笛卡爾積 select fro...

Oracle的連線查詢

連線查詢指基於兩個或兩個以上表或檢視的查詢,在實際應用中,可能僅僅查詢單個表無法滿足應用程式的實際需求,例如顯示sales部門位置以及雇員名,這種情況就需要進行連線查詢 dept和emp表 相等連線 用 指定連線條件 select e.name,e.sal,d.dname from emp e,de...