Oracel中連線的總結(一)

2021-09-04 12:44:22 字數 2202 閱讀 7618

資料庫版本:oracle 9i

表testa,testb,testc,各有a, b兩列

連線分為兩種:內連線與外連線。

a.內連線

內連線,即最常見的等值連線,例:

select

* fromtesta,testb

wheretesta.a=testb.a

結果b.外連線

外連線分為左外連線,右外連線和全外連線。

1.左外連線left outer join 或者 left join

左外連線就是在等值連線的基礎上加上主表中的未匹配資料,例:

select

*fromtesta

leftouterjointestb

ontesta.a=testb.a

oracle

支援另一種寫法

select

* fromtesta,testb

wheretesta.a=testb.a(+)

結果:三個表做左外連線

select

*fromtesta

leftouterjointestb

ontesta.a=testb.a

leftouterjointestc

ontesta.a=testc.a

oracle

支援的另外一種寫法

select

*fromtesta,testb,testc

wheretesta.a=testb.a(+)

andtesta.a=testc.a(+)

結果:2.右外連線right outer join 或者 right join

右外連線是在等值連線的基礎上加上被連線表的不匹配資料

select

*fromtesta

rightouterjointestb

ontesta.a=testb.a

oracle

支援的另一種寫法

select

*fromtesta,testb

wheretesta.a(+)=testb.a

結果 :

3.全外連線full outer join 或者 full join

全外連線是在等值連線的基礎上將左表和右表的未匹配資料都加上

select *

from testa

full outer join testb

on testa.a=testb.a

全外連線的等價寫法,對同一表先做左連線,然後右連線

select testa.*,testb.*

from testa

left outer join testb

on testa.a=testb.a

union

select testa.*,testb.*

from testb

left outer join testa

on testa.a=testb.a

結果:

Oracel中連線的總結(一)

資料庫版本 oracle 9i 表testa,testb,testc,各有a,b兩列 a b001 10a002 20a a b001 10b003 30b a b001 10c004 40c 連線分為兩種 內連線與外連線。a 內連線 內連線,即最常見的等值連線,例 select fromtesta...

oracel中的表匯出csv檔案

1.定義儲存過程 create or replace procedure sql to csv p query in varchar2,plsql文 p dir in varchar2,匯出的檔案放置目錄 p filename in varchar2 csv名 is l output utl fil...

使用JSP連線ORACEL資料庫做的登入框架

判斷是否有錯誤資訊,如果有則列印 如果沒有此段 則顯示時會直接列印null if request.getattribute err null 使用jdbc連線oracle資料庫 string dbdriver oracle.jdbc.driver.oracledriver string dburl ...