隨筆-28  評(píng)論-15  文章-81  trackbacks-0
           1.外部聯(lián)接"+"按其在"="的左邊或右邊分左聯(lián)接和右聯(lián)接.

              若不帶"+"運(yùn)算符的表中的一個(gè)行不直接匹配于帶"+"預(yù)算符的表中的任何行,則前者的行與后者中的一個(gè)空行相匹配并被返回.
            若二者均不帶"+",則二者中無(wú)法匹配的均被返回.

              利用外部聯(lián)接"+",可以替代效率十分低下的 not in 運(yùn)算,大大提高運(yùn)行速度.
            
             例如:A和表B,B的部分內(nèi)容包含在A,兩個(gè)表關(guān)聯(lián)后,要求顯示A的所有內(nèi)容,B不能和A匹配的就用空格顯示,則兩者的表達(dá)為左聯(lián)接: A=B(+)

          2.左右連接的表帶有條件時(shí),條件為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.當(dāng)A表和B表進(jìn)行左連接時(shí),C因?yàn)槭荁的子表,所以B表也要和C表進(jìn)行左連接,這樣B表沒(méi)記錄時(shí),C表也會(huì)沒(méi)記錄,相當(dāng)于A表也和C表進(jìn)行了左連接,保證A表的數(shù)據(jù)都能正常顯示
            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 譚明 閱讀(369) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Oracle
          主站蜘蛛池模板: 克什克腾旗| 桓台县| 称多县| 延边| 宁国市| 黎平县| 临城县| 南召县| 灌阳县| 泸定县| 平顶山市| 工布江达县| 乌兰县| 横山县| 象州县| 托克托县| 嘉义市| 黄冈市| 松原市| 贵阳市| 双鸭山市| 康平县| 通化县| 洛宁县| 特克斯县| 芦溪县| 清远市| 司法| 蛟河市| 临朐县| 河池市| 甘谷县| 庆元县| 陆川县| 龙山县| 荥阳市| 泗水县| 涿州市| 前郭尔| 来宾市| 龙岩市|