資料庫版本: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 ...