Oracle命令 外部結合

來源:互聯網
上載者:User

Oracle 外部結合命令 :理解(+)最重要的一點是,(+)總是放在資訊匱乏的一邊,這一邊的記錄會作為空白值顯示。

舉例說明:

先預覽下我們將結合的兩個表:EMPLOYEE_CHECK 和 EMPLOYE_CHECK_TMP 。

@_1表EMPLOYEE_CHECK :

  1. SQL> SELECT * FROM EMPLOYEE_CHECK;  
  2.    
  3. EMP_ID    EMP_NAME             EMP_ST_ADDR                    EMP_ZIP EMP_ADDR             EMP_CITY             EMP_PHONE   EMP_SALRAY  
  4. --------- -------------------- ------------------------------ ------- -------------------- -------------------- ----------- ----------   
  5. 100000    ZOU QI LEI           BAN TIAN BULONG STREET         518000  YANG MEI VILLAGE     SHEN ZHEN            123456789         3500  
  6. 100001    CAI FANG JIE         BAN TIAN BULONG STREET         518000  YANG MEI VILLAGE     SHEN ZHEN            18218429577   
  7. 100002    LU JING HUAN         FAN YU SESSION                 430060  YANG MEI VILLAGE     GUANG ZHOU           1397165903    
  8. 100003    WU JING XIN          HU BEI DIER SHIFAN XUEYUAN     430060  MING ZHU YUAN        WU HAN               187****235    
  9. 100004    LI WEI               QING SHAN GANG DU HUA YUAN     430060  XIAO QU              WU HAN               197****436  

@_2表EMPLOYEE_CHECK_TMP :
  1. SQL> SELECT * FROM EMPLOYEE_CHECK_TMP;  
  2.    
  3. EMP_ID    EMP_NAME             EMP_ST_ADDR                    EMP_ZIP EMP_ADDR             EMP_CITY             EMP_PHONE   EMP_SALRAY  
  4. --------- -------------------- ------------------------------ ------- -------------------- -------------------- ----------- ----------   
  5. 100001    CAI FANG JIE         BAN TIAN BULONG STREET         518000  YANG MEI VILLAGE     SHEN ZHEN            18218429577   
  6. 100003    WU JING XIN          HU BEI DIER SHIFAN XUEYUAN     430060  MING ZHU YUAN        SHEN ZHEN            187****235    
  7. 100005    DING LING            HAN KOU TAI BEI LU             430060  TIAN MEN DUN NEARBY  WU HAN               137***4256        2000  

現在結合這兩個表,用 '+' 進行結合查詢:
  1. SQL> SELECT P.EMP_NAME, P.EMP_ADDR, P.EMP_CITY, P.EMP_PHONE, T.EMP_ZIP FROM EMPLOYEE_CHECK P, EMPLOYEE_CHECK_TMP T WHERE <span style="color:#ff6600;">P.EMP_ID</span><span style="color:#3366ff;"> </span>=<span style="color:#3366ff;"> T.EMP_ID(+);  
  2.    
  3. EMP_NAME             EMP_ADDR             EMP_CITY             EMP_PHONE   EMP_ZIP  
  4. -------------------- -------------------- -------------------- ----------- -------   
  5. ZOU QI LEI           YANG MEI VILLAGE     SHEN ZHEN            123456789                         --row_1   
  6. CAI FANG JIE         YANG MEI VILLAGE     SHEN ZHEN            18218429577 518000                 
  7. LU JING HUAN         YANG MEI VILLAGE     GUANG ZHOU           1397165903                       --row_3   
  8. WU JING XIN          MING ZHU YUAN        WU HAN               187****235  430060  
  9. LI WEI               XIAO QU              WU HAN               197****436                       -row_5  
現在觀察兩個結合查詢的表,紅色標註主表(P),查詢欄位為:
  1. P.EMP_NAME, P.EMP_ADDR, P.EMP_CITY, P.EMP_PHONE
藍色標註暫存資料表(T),查詢欄位為:

T.EMP_ZIP

當 '+'(結合標誌) 附屬在T表上時,除了返回滿足查詢條件WHERE P.EMP_ID=T.EMP_ID的資訊外,同時還會返回P對應的查詢欄位: row_1, row_3, row_5。

  • 1
  • 2
  • 下一頁

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.