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

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

              利用外部聯(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表沒記錄時(shí),C表也會(huì)沒記錄,相當(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 譚明 閱讀(374) 評(píng)論(0)  編輯  收藏 所屬分類: Oracle
          主站蜘蛛池模板: 怀柔区| 大城县| 桂林市| 依安县| 文登市| 常熟市| 米泉市| 宜阳县| 手游| 张家界市| 延吉市| 宝坻区| 潍坊市| 成都市| 余庆县| 且末县| 宁河县| 沧源| 屏东县| 房山区| 尚义县| 图木舒克市| 柘城县| 怀远县| 承德县| 察隅县| 建始县| 东丰县| 保山市| 响水县| 阿克陶县| 桂阳县| 印江| 诏安县| 巴马| 交口县| 连江县| 绥德县| 汾西县| 荣昌县| 威信县|