<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java學習

    java,spring,structs,hibernate,jsf,ireport,jfreechart,jasperreport,tomcat,jboss -----本博客已經搬家了,新的地址是 http://www.javaly.cn 如果有對文章有任何疑問或者有任何不懂的地方,歡迎到www.javaly.cn (Java樂園)指出,我會盡力幫助解決。一起進步

     

    sql之left join、right join、inner join的區別

    內連接是保證兩個表中所有的行都要滿足連接條件,而外連接則不然。在外連接中,某些不滿條件的列也會顯示出來,也就是說,只限制其中一個表的行,而不限制另一個表的行。這種連接形式在許多情況下是非常有用的。外連接只能用于兩個表中。
    在 Ansi 語法形式中,包含下列三種外連接關鍵字:

      ◆Left Outer Join 包含了左表中的全部行(表達式中第一個表)

      ◆Right Outer Join 包括了右表中的全部行(表達式中第二個表)

      ◆Full Outer Join 包括了左表和右表中所有不滿足條件的行

      在 SQL Server 連接語法形式中,包括下列兩種外連接運算符:

      ◆* = 包含了左表中的全部行(表達式中第一個表)

      ◆= * 包括了右表中的全部行(表達式中第二個表)

      左外連接和右連接都可以產生同樣的結果,關鍵是看表達式中出現的前后順序。
    舉例如下:
    --------------------------------------------
    表A記錄如下:
    aID     aNum
    1     a20050111
    2     a20050112
    3     a20050113
    4     a20050114
    5     a20050115

    表B記錄如下:
    bID     bName
    1     2006032401
    2     2006032402
    3     2006032403
    4     2006032404
    8     2006032408

    --------------------------------------------
    1.left join
    sql語句如下:
    select * from A
    left join B
    on A.aID = B.bID

    結果如下:
    aID     aNum     bID     bName
    1     a20050111    1     2006032401
    2     a20050112    2     2006032402
    3     a20050113    3     2006032403
    4     a20050114    4     2006032404
    5     a20050115    NULL     NULL

    (所影響的行數為 5 行)
    結果說明:
    left join是以A表的記錄為基礎的,A可以看成左表,B可以看成右表,left join是以左表為準的.
    換句話說,左表(A)的記錄將會全部表示出來,而右表(B)只會顯示符合搜索條件的記錄(例子中為: A.aID = B.bID).
    B表記錄不足的地方均為NULL.
    --------------------------------------------
    2.right join
    sql語句如下:
    select * from A
    right join B
    on A.aID = B.bID

    結果如下:
    aID     aNum     bID     bName
    1     a20050111    1     2006032401
    2     a20050112    2     2006032402
    3     a20050113    3     2006032403
    4     a20050114    4     2006032404
    NULL     NULL     8     2006032408

    (所影響的行數為 5 行)
    結果說明:
    仔細觀察一下,就會發現,和left join的結果剛好相反,這次是以右表(B)為基礎的,A表不足的地方用NULL填充.
    --------------------------------------------
    3.inner join
    sql語句如下:
    select * from A
    innerjoin B
    on A.aID = B.bID

    結果如下:
    aID     aNum     bID     bName
    1     a20050111    1     2006032401
    2     a20050112    2     2006032402
    3     a20050113    3     2006032403
    4     a20050114    4     2006032404

    結果說明:
    很明顯,這里只顯示出了 A.aID = B.bID的記錄.這說明inner join并不以誰為基礎,它只顯示符合條件的記錄.
    --------------------------------------------
    注:
    LEFT JOIN操作用于在任何的 FROM 子句中,組合來源表的記錄。使用 LEFT JOIN 運算來創建一個左邊外部聯接。左邊外部聯接將包含了從第一個(左邊)開始的兩個表中的全部記錄,即使在第二個(右邊)表中并沒有相符

    posted on 2009-10-21 13:50 找個美女做老婆 閱讀(1110) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    導航

    統計

    公告

    本blog已經搬到新家了, 新家:www.javaly.cn
     http://www.javaly.cn

    常用鏈接

    留言簿(6)

    隨筆檔案

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲精品人成在线观看| 国产精品青草视频免费播放| 亚洲日本在线免费观看| 亚洲国产精品热久久| 国产免费AV片在线观看| 亚洲Av熟妇高潮30p| jiz zz在亚洲| 男女作爱在线播放免费网站| 亚洲AV人无码综合在线观看| 国产成人久久AV免费| 亚洲高清在线观看| 久久九九兔免费精品6| 亚洲中文字幕第一页在线 | 亚洲国产精品无码久久久蜜芽| 两个人看的www免费视频中文| 久久久久久亚洲精品| 三年片在线观看免费观看高清电影| 国产精品亚洲片在线va| 国产免费观看a大片的网站| 人人鲁免费播放视频人人香蕉| 亚洲综合精品香蕉久久网| 99国产精品免费观看视频| 亚洲一级片在线播放| 免费a级毛片无码av| 亚洲精品美女久久久久久久| 亚洲一区二区三区免费观看 | 亚洲第一网站男人都懂| a在线免费观看视频| 亚洲免费中文字幕| 亚洲AⅤ永久无码精品AA| 亚洲av综合av一区二区三区 | 国产精品观看在线亚洲人成网| 成人特黄a级毛片免费视频| 特级一级毛片免费看| 亚洲 小说区 图片区 都市| 三上悠亚在线观看免费| 亚洲婷婷综合色高清在线| 亚洲精品在线免费观看视频 | 精品久久久久久国产免费了| 亚洲成人免费在线观看| 亚洲福利精品电影在线观看|