<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 找個美女做老婆 閱讀(1117) 評論(0)  編輯  收藏


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


    網站導航:
     

    導航

    統計

    公告

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

    常用鏈接

    留言簿(6)

    隨筆檔案

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 成人性做爰aaa片免费看| 亚洲永久在线观看| jizz免费观看| 亚洲av无码国产精品色在线看不卡| 亚洲人配人种jizz| 一二三四在线播放免费观看中文版视频 | 久9这里精品免费视频| 久久亚洲国产视频| 国产自国产自愉自愉免费24区 | 99在线精品免费视频九九视| 亚洲男人天堂影院| 99精品国产免费久久久久久下载| 亚洲不卡视频在线观看| 毛片a级毛片免费观看品善网| 亚洲色成人网站WWW永久四虎| 免费无码又爽又高潮视频| 美女视频黄频a免费| 亚洲欧洲自拍拍偷精品 美利坚 | 99精品一区二区免费视频| 亚洲国产精品综合久久网各| 91嫩草国产在线观看免费| 亚洲第一第二第三第四第五第六| 波多野结衣一区二区免费视频| 国产成人自产拍免费视频| 内射干少妇亚洲69XXX| 成人无遮挡裸免费视频在线观看| 久久综合亚洲色hezyo| 亚洲精品线路一在线观看| 99免费视频观看| 亚洲av无码专区在线观看亚| 亚洲综合精品网站| 色猫咪免费人成网站在线观看| 伊人久久五月丁香综合中文亚洲| 免费一级特黄特色大片在线| 久久精品乱子伦免费| 亚洲精品久久无码| 亚洲av中文无码乱人伦在线r▽| 性做久久久久久久免费看| 国产高清对白在线观看免费91| 久久亚洲国产精品成人AV秋霞| 国产美女a做受大片免费|