1.外部聯接"+"按其在"="的左邊或右邊分左聯接和右聯接.
若不帶"+"運算符的表中的一個行不直接匹配于帶"+"預算符的表中的任何行,則前者的行與后者中的一個空行相匹配并被返回.
若二者均不帶"+",則二者中無法匹配的均被返回.
利用外部聯接"+",可以替代效率十分低下的 not in 運算,大大提高運行速度.
例如:表A和表B,B的部分內容包含在A中,兩個表關聯后,要求顯示A的所有內容,B不能和A匹配的就用空格顯示,則兩者的表達為左聯接: A=B(+)
2.左右連接的表帶有條件時,條件為is null 和 is not null
SELECT A.ORDSEQ,B.ORDTY,A.RELORD FROM ORDREL A,ORD B
WHERE A.ORDSEQ = B.ORDSEQ(+)
AND A.RELORD = 5339
AND B.ISSUPPLY (+) IS NOT NULL
3.當A表和B表進行左連接時,C因為是B的子表,所以B表也要和C表進行左連接,這樣B表沒記錄時,C表也會沒記錄,相當于A表也和C表進行了左連接,保證A表的數據都能正常顯示
SELECT A.ORDSEQ,B.ORDTY,A.RELORD FROM ORDREL A,ORD B,ORDITM C
WHERE A.ORDSEQ = B.ORDSEQ(+)
AND A.RELORD = 5339
AND B.ISSUPPLY (+) IS NOT NULL
AND B.ORDSEQ = C.ORDSEQ
4.和字符串的右連接
AND RT.TRANSACTION_TYPE (+)= 'RETURN TO VENDOR'
posted on 2008-08-28 15:35
譚明 閱讀(368)
評論(0) 編輯 收藏 所屬分類:
Oracle