欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解析sql語(yǔ)句中l(wèi)eft_join、inner_join中的on與where的區(qū)別

 更新時(shí)間:2013年07月17日 11:43:23   作者:  
以下是對(duì)在sql語(yǔ)句中l(wèi)eft_join、inner_join中的on與where的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以參考下
table a(id, type):
id     type
----------------------------------
1      1        
2      1         
3      2         
table b(id, class):
id    class
---------------------------------
1      1
2      2
sql語(yǔ)句1:select a.*, b.* from a left join b on a.id = b.id and a.type = 1;
sql語(yǔ)句2:select a.*, b.* from a left join b on a.id = b.id where a.type = 1;
sql語(yǔ)句3:select a.*, b.* from a left join b on a.id = b.id and b.class = 1;

sql語(yǔ)句1的執(zhí)行結(jié)果為:
a.id    a.type    b.id    b.class
----------------------------------------
1        1            1        1
2        1            2        2
3        2              

sql語(yǔ)句2的執(zhí)行結(jié)果為:
a.id    a.type    b.id    b.class
----------------------------------------
1        1            1        1
2        1            2        2

sql語(yǔ)句3的執(zhí)行結(jié)果為:
a.id    a.type    b.id    b.class
----------------------------------------
1        1            1        1
2        1           
3        2           
由sql語(yǔ)句1可見(jiàn),left join 中左表的全部記錄將全部被查詢顯示,on 后面的條件對(duì)它不起作用,除非再后面再加上where來(lái)進(jìn)行篩選,這就是sql語(yǔ)句2了;由sql語(yǔ)句3可見(jiàn),on后面的條件中,右表的限制條件將會(huì)起作用。
**************************************************************************
sql語(yǔ)句4:select a.*, b.* from a inner join b on a.id = b.id and a.type = 1;
sql語(yǔ)句5:select a.*, b.* from a inner join b on a.id = b.id where a.type = 1;
sql語(yǔ)句6:select a.*, b.* from a, b where a.id = b.id and a.type = 1;
sql語(yǔ)句7:select a.*, b.* from a, b where a.type = 1 and a.id = b.id;

這四條語(yǔ)句的執(zhí)行結(jié)果一樣,如下:
a.id    a.type    b.id    b.class
----------------------------------------
1        1            1        1
2        1            2        2
由此可見(jiàn),inner join 中on后面的限制條件將全部起作用,這與where的執(zhí)行結(jié)果是一樣的。另外,where語(yǔ)句與inner join確實(shí)能得到相同的結(jié)果,只是效率不同(這個(gè)我沒(méi)有測(cè)試過(guò),不過(guò)我相信這個(gè)結(jié)論)。
但是sql語(yǔ)句6是否比sql語(yǔ)句7的效率要低一些,我沒(méi)有足夠的數(shù)據(jù)量來(lái)測(cè)試,不過(guò)我也相信是如此的。

相關(guān)文章

  • MySQL死鎖檢查處理的正常方法

    MySQL死鎖檢查處理的正常方法

    這篇文章主要給大家介紹了關(guān)于MySQL死鎖檢查處理的正常方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • MySQL基礎(chǔ)之MySQL 5.7 新增配置

    MySQL基礎(chǔ)之MySQL 5.7 新增配置

    mysql數(shù)據(jù)庫(kù)性能非常高,運(yùn)行速度非???,接下來(lái)通過(guò)本文給大家介紹MySQL 5.7 新增配置,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧
    2016-09-09
  • mysql排序失效問(wèn)題的解決

    mysql排序失效問(wèn)題的解決

    本文主要介紹了mysql排序失效問(wèn)題的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • cmd中MySQL中文數(shù)據(jù)亂碼問(wèn)題解決方法

    cmd中MySQL中文數(shù)據(jù)亂碼問(wèn)題解決方法

    MySQL是默認(rèn)utf8編碼的,所建數(shù)據(jù)庫(kù)也是設(shè)置utf8編碼,使用程序可以新增中文數(shù)據(jù),在cmd中使用SQL語(yǔ)句新增數(shù)據(jù)則報(bào)錯(cuò),有類似情況的朋友可以參考下本文
    2014-02-02
  • MySql分表、分庫(kù)、分片和分區(qū)知識(shí)點(diǎn)介紹

    MySql分表、分庫(kù)、分片和分區(qū)知識(shí)點(diǎn)介紹

    數(shù)據(jù)庫(kù)的數(shù)據(jù)量達(dá)到一定程度之后,為避免帶來(lái)系統(tǒng)性能上的瓶頸。需要進(jìn)行數(shù)據(jù)的處理,采用的手段是分區(qū)、分片、分庫(kù)、分表,這里就為大家介紹一下,需要的朋友可以參考下
    2020-02-02
  • MySQL數(shù)據(jù)庫(kù)之聯(lián)合查詢?union

    MySQL數(shù)據(jù)庫(kù)之聯(lián)合查詢?union

    這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)之聯(lián)合查詢?union,聯(lián)合查詢就是將多個(gè)查詢結(jié)果的結(jié)果集合并到一起,字段數(shù)不變,多個(gè)查詢結(jié)果的記錄數(shù)合并,下文詳細(xì)介紹需要的小伙伴可以參考一下
    2022-06-06
  • mysql自聯(lián)去重的一些筆記記錄

    mysql自聯(lián)去重的一些筆記記錄

    這篇文章主要給大家介紹了關(guān)于mysql自聯(lián)去重的一些筆記記錄,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 學(xué)習(xí)mysql之后的一點(diǎn)總結(jié)(基礎(chǔ))

    學(xué)習(xí)mysql之后的一點(diǎn)總結(jié)(基礎(chǔ))

    學(xué)習(xí)mysql之后的一點(diǎn)總結(jié),比較適合新手朋友
    2012-05-05
  • Mysql中in和exists的區(qū)別?&?not?in、not?exists、left?join的相互轉(zhuǎn)換問(wèn)題

    Mysql中in和exists的區(qū)別?&?not?in、not?exists、left?join的相互轉(zhuǎn)換問(wèn)題

    這篇文章主要介紹了Mysql中in和exists的區(qū)別?&?not?in、not?exists、left?join的相互轉(zhuǎn)換,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • MySQL過(guò)濾數(shù)據(jù)操作方法梳理

    MySQL過(guò)濾數(shù)據(jù)操作方法梳理

    數(shù)據(jù)庫(kù)表一般包含大量的數(shù)據(jù),很少需要檢索表中的所有行。通常只是根據(jù)特定的需要提取表數(shù)據(jù)的子集。因此檢索所需數(shù)據(jù)時(shí)需要指定搜索條件,搜索條件也稱為過(guò)濾條件
    2022-10-10

最新評(píng)論