<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)

    隨筆檔案

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: yy6080亚洲一级理论| 亚洲黄色片免费看| 午夜视频免费成人| 亚洲人成网www| 国产精品免费AV片在线观看| 免费观看国产精品| 亚洲一本一道一区二区三区| 91精品免费久久久久久久久| 中文字幕日韩亚洲| 国产又黄又爽胸又大免费视频| 亚洲av无码成人精品区| 无码亚洲成a人在线观看| 在线免费观看一级片| 亚洲日韩av无码中文| www.亚洲色图| 一级毛片一级毛片免费毛片| 久久乐国产精品亚洲综合| 一级做a爱过程免费视| 亚洲片国产一区一级在线观看| www在线观看免费视频| 中国亚洲女人69内射少妇| 国产午夜免费高清久久影院| 亚洲黑人嫩小videos| 免费无码又爽又刺激聊天APP| 亚洲人av高清无码| 亚洲熟妇无码另类久久久| 成人爽a毛片免费| 亚洲AV无码乱码麻豆精品国产| 毛片a级毛片免费播放下载| 美女被免费网站视频在线| 亚洲无码精品浪潮| 18禁美女黄网站色大片免费观看 | 亚洲熟妇无码av另类vr影视| 亚洲av区一区二区三| 久久精品国产这里是免费| 中文字幕亚洲男人的天堂网络 | 色噜噜亚洲精品中文字幕| 亚洲精品国产免费| 日本特黄特色AAA大片免费| 亚洲AV天天做在线观看| 免费欧洲毛片A级视频无风险|