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
谭明 阅读(359)
评论(0) 编辑 收藏 所属分类:
Oracle