Oracle資料庫的連線研究

2021-06-14 13:51:48 字數 2861 閱讀 7252

資料庫版本:oracle 9i

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

b001

10a002

20a

a b

001

10b

003

30b a

b001

10c004

40c

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

a.內連線

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

select

fromtesta,testb

wheretesta.a=testb.a結果

a b

a b

001

10a

001

10b

b.外連線

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

左外連線left outer join 或者 left join

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

select*

fromtesta 

left outer jointestb 

ontesta.a=testb.a

oracle 支援另一種寫法

select

fromtesta,testb

wheretesta.a=testb.a(+)

結果: a

b a

b 001

10a

001

10b

002

20a

三個表做左外連線

select*

fromtesta 

left outer jointestb 

ontesta.a=testb.a

left outer jointestc

ontesta.a=testc.a

oracle 支援的另外一種寫法

select*

fromtesta,testb,testc

wheretesta.a=testb.a(+)

andtesta.a=testc.a(+)

結果: a

b a

b a

b 001

10a

001

10b

001

10c

002

20a 2.

右外連線right outer join 或者 right join

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

select*

fromtesta 

right outer jointestb 

ontesta.a=testb.a

oracle支援的另一種寫法

select*

fromtesta,testb

wheretesta.a(+)=testb.a

結果: a

b a

b 001

10a

001

10b

003

30b

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

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

select

fromtesta 

full outer jointestb

ontesta.a=testb.a

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

selecttesta.*,testb.*

fromtesta

left outer jointestb

ontesta.a=testb.a

union

selecttesta.*,testb.*

fromtestb

left outer jointesta

ontesta.a=testb.a

結果: a

b a

b 001

10a

001

10b

002

20a

003

30b

連線Oracle資料庫

先將system.data.oralceclient.dll檔案拷貝專案目錄的bin目錄下,通常位於c windows microsoft.net franmework v.1.1.4322目錄中.連線字串 string oracle connstr data source oracle9i int...

連線Oracle資料庫

先將system.data.oralceclient.dll檔案拷貝專案目錄的bin目錄下,通常位於c windows microsoft.net franmework v.1.1.4322目錄中.連線字串 string oracle connstr data source oracle9i int...

Oracle資料庫的連線

仿照 1 建立oracle連線 vs2010中新增資料庫連線 得到連線字串 data source server1 persist security info true user id s227 password unicode true 為你的密碼 2 建立vs2010 c 控制台程式 因為這個是...