資料庫版本: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 控制台程式 因為這個是...