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

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

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

    西沙璞玉
    愛不容易
    posts - 0,comments - 4,trackbacks - 0
    sql語句中left join、inner join中的on與where的區別

    table a(id, type):

    id     type

    ----------------------------------

    1      1        

    2      1         

    3      2         

    table b(id, class):

    id    class

    ---------------------------------

    1      1

    2      2

    sql語句1:select a.*, b.* from a left join b on a.id = b.id and a.type = 1;

    sql語句2:select a.*, b.* from a left join b on a.id = b.id where a.type = 1;

    sql語句3:select a.*, b.* from a left join b on a.id = b.id and b.class = 1;

    sql語句1的執行結果為:

    a.id    a.type    b.id    b.class

    ----------------------------------------

    1        1            1        1

    2        1            2        2

    3        2              

    sql語句2的執行結果為:

    a.id    a.type    b.id    b.class

    ----------------------------------------

    1        1            1        1

    2        1            2        2

    sql語句3的執行結果為:

    a.id    a.type    b.id    b.class

    ----------------------------------------

    1        1            1        1

    2        1           

    3        2           

    由sql語句1可見,left join 中左表的全部記錄將全部被查詢顯示,on 后面的條件對它不起作用,除非再后面再加上where來進行篩選,這就是sql語句2了;由sql語句3可見,on后面的條件中,右表的限制條件將會起作用。

    **********************************************************************************

    sql語句4:select a.*, b.* from a inner join b on a.id = b.id and a.type = 1;

    sql語句5:select a.*, b.* from a inner join b on a.id = b.id where a.type = 1;

    sql語句6:select a.*, b.* from a, b where a.id = b.id and a.type = 1;

    sql語句7:select a.*, b.* from a, b where a.type = 1 and a.id = b.id;

    這四條語句的執行結果一樣,如下:

    a.id    a.type    b.id    b.class

    ----------------------------------------

    1        1            1        1

    2        1            2        2

    由此可見,inner join 中on后面的限制條件將全部起作用,這與where的執行結果是一樣的。另外,where語句與inner join確實能得到相同的結果,只是效率不同(這個我沒有測試過,不過我相信這個結論)。

    但是sql語句6是否比sql語句7的效率要低一些,我沒有足夠的數據量來測試,不過我也相信是如此的。

    posted on 2012-03-13 10:32 @趙 閱讀(152) 評論(0)  編輯  收藏

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


    網站導航:
     
    哥哥最近不是很忙
    主站蜘蛛池模板: 亚洲欧洲日产国码在线观看| 国产色婷婷精品免费视频| 亚洲国产成人五月综合网 | 日本高清免费不卡在线| 免费女人18毛片a级毛片视频| 久久亚洲高清综合| 精品国产污污免费网站入口在线| 久久精品中文字幕免费| 国产精品亚洲片在线观看不卡| 亚洲欧洲日韩极速播放| 一级成人生活片免费看| 99久热只有精品视频免费观看17| 51视频精品全部免费最新| 免费国产精品视频| 国产va免费观看| 亚洲成av人影院| 99久久99热精品免费观看国产| 亚洲美女精品视频| 性感美女视频在线观看免费精品 | 日韩a级无码免费视频| 成年女人免费v片| 自拍偷自拍亚洲精品偷一| 亚洲国产高清在线一区二区三区| 一区二区三区免费视频观看| 久久久久亚洲精品影视| 2022免费国产精品福利在线| 亚洲精品成人片在线播放| 亚洲视频在线观看免费视频| 亚洲色大成网站www尤物| 日本黄网站动漫视频免费| 亚洲日韩国产一区二区三区在线 | 亚洲国产精品无码专区影院| 久久久久久精品成人免费图片| 亚洲日韩av无码中文| 久久精品国产亚洲5555| 亚洲毛片在线免费观看| 免费人成在线观看播放a| 亚洲国产精品久久久久婷婷老年| 成年大片免费视频| 久久九九全国免费| 亚洲国产精品精华液|