最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql中l(wèi)eft join設(shè)置條件在on與where時(shí)的用法區(qū)別分析

 更新時(shí)間:2020年02月19日 10:22:38   作者:懷素真  
這篇文章主要介紹了mysql中l(wèi)eft join設(shè)置條件在on與where時(shí)的用法區(qū)別,結(jié)合實(shí)例形式分析了mysql中l(wèi)eft join設(shè)置條件在on與where時(shí)的相關(guān)用法區(qū)別與操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了mysql中l(wèi)eft join設(shè)置條件在on與where時(shí)的用法區(qū)別。分享給大家供大家參考,具體如下:

一、首先我們準(zhǔn)備兩張表來(lái)進(jìn)行測(cè)試。

CREATE TABLE `a` (
 `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
 `name` varchar(32) DEFAULT '' COMMENT '名稱',
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `b` (
 `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
 `a_id` int(11) DEFAULT '0' COMMENT 'a表ID',
 `name` varchar(32) DEFAULT '' COMMENT '名稱',
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

兩個(gè)表的數(shù)據(jù)如圖所示:

運(yùn)行下面左連接查詢:

select * from a left join b on a.id = b.a_id;

我們分別在on和where后面加上條件,看看執(zhí)行結(jié)果是否相同。

select * from a left join b on a.id = b.a_id and b.id > 3;

select * from a left join b on a.id = b.a_id where b.id > 3;

上面的兩條語(yǔ)句,條件我們?cè)O(shè)置的是一樣的都是b.id > 3,為什么顯示結(jié)果不同。

sql語(yǔ)句查詢的關(guān)鍵字順序一般為 from > where > group by > having > order by

left join 在 from范圍,on 條件會(huì)先對(duì) left join 的右表進(jìn)行篩選,篩選完后的結(jié)果 where 再進(jìn)行篩選。

多個(gè) left join 會(huì)生成一張臨時(shí)表,on 條件是對(duì) left join 右表進(jìn)行條件過(guò)濾,where 條件針對(duì)最后生成的臨時(shí)表進(jìn)行過(guò)濾。

所以:

b.id > 3 的條件如果寫(xiě)在 on 后面,則是先對(duì)右邊表(關(guān)聯(lián)表)進(jìn)行篩選,得出符合條件的行,然后主表 left join ,返回主表所有的行,右邊表沒(méi)匹配上的用 null 表示。

b.id > 3 的條件如果寫(xiě)在 where 后面,則是先主表 left join 右邊表(關(guān)聯(lián)表),返回所有的行,然后 where 條件再對(duì)結(jié)果進(jìn)行篩選。

注意:on 后面的條件是針對(duì)右邊的表(關(guān)聯(lián)表),對(duì)主表沒(méi)什么作用。

select * from a left join b on a.id = b.a_id and a.id > 3;

我們?cè)趏n 后面添加了對(duì)主表的條件 a.id > 3,不過(guò)主表的數(shù)據(jù)仍然全部顯示出來(lái)了,但是影響了右邊表(關(guān)聯(lián)表)的顯示。

如果想要對(duì)主表進(jìn)行篩選,應(yīng)該把條件寫(xiě)在where后。

select * from a left join b on a.id = b.a_id where a.id > 3;

更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲(chǔ)過(guò)程技巧大全》及《MySQL數(shù)據(jù)庫(kù)鎖相關(guān)技巧匯總

希望本文所述對(duì)大家MySQL數(shù)據(jù)庫(kù)計(jì)有所幫助。

相關(guān)文章

  • MySQL優(yōu)化常用的19種有效方法(推薦!)

    MySQL優(yōu)化常用的19種有效方法(推薦!)

    關(guān)于數(shù)據(jù)庫(kù)優(yōu)化,網(wǎng)上有不少資料和方法,但是不少質(zhì)量參差不齊,有些總結(jié)的不夠到位,內(nèi)容冗雜,下面這篇文章主要給大家介紹了關(guān)于MySQL優(yōu)化常用的19種有效方法,需要的朋友可以參考下
    2022-03-03
  • MySql分組后隨機(jī)獲取每組一條數(shù)據(jù)的操作

    MySql分組后隨機(jī)獲取每組一條數(shù)據(jù)的操作

    這篇文章主要介紹了MySql分組后隨機(jī)獲取每組一條數(shù)據(jù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-10-10
  • MySQL字段為 NULL的5大坑

    MySQL字段為 NULL的5大坑

    本文主要介紹了MySQL字段為 NULL的5大坑,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • MySQL 重裝MySQL后, mysql服務(wù)無(wú)法啟動(dòng)

    MySQL 重裝MySQL后, mysql服務(wù)無(wú)法啟動(dòng)

    把mysql程序卸載后, 重裝, 結(jié)果mysql服務(wù)啟動(dòng)不了,碰到這個(gè)問(wèn)題的朋友可以參考下。
    2011-08-08
  • Mysql啟動(dòng)的方式(四種)

    Mysql啟動(dòng)的方式(四種)

    本文給大家介紹四種mysql啟動(dòng)方式,實(shí)用性非常高,感興趣的朋友參考下吧
    2016-04-04
  • Win10環(huán)境下安裝Mysql5.7.23問(wèn)題及遇到的坑

    Win10環(huán)境下安裝Mysql5.7.23問(wèn)題及遇到的坑

    這篇文章主要介紹了Win10環(huán)境下安裝Mysql5.7.23問(wèn)題及遇到的坑,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Mysql技術(shù)內(nèi)幕之InnoDB鎖的深入講解

    Mysql技術(shù)內(nèi)幕之InnoDB鎖的深入講解

    這篇文章主要給大家介紹了關(guān)于Mysql技術(shù)內(nèi)幕之InnoDB鎖的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • mysql數(shù)據(jù)庫(kù)表的多條件查詢語(yǔ)句

    mysql數(shù)據(jù)庫(kù)表的多條件查詢語(yǔ)句

    這篇文章主要介紹了mysql數(shù)據(jù)庫(kù)表的多條件查詢語(yǔ)句,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • mysql下優(yōu)化表和修復(fù)表命令使用說(shuō)明(REPAIR TABLE和OPTIMIZE TABLE)

    mysql下優(yōu)化表和修復(fù)表命令使用說(shuō)明(REPAIR TABLE和OPTIMIZE TABLE)

    隨著mysql的長(zhǎng)期使用,肯定會(huì)出現(xiàn)一些問(wèn)題,一般情況下mysql表無(wú)法訪問(wèn),就可以修復(fù)表了,優(yōu)化時(shí)減少磁盤(pán)占用空間。方便備份。
    2011-01-01
  • MYSQL中Truncate的用法詳解

    MYSQL中Truncate的用法詳解

    這篇文章主要介紹了MYSQL中Truncate的用法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01

最新評(píng)論

延长县| 吉水县| 巴里| 武邑县| 珲春市| 花莲市| 彭阳县| 溆浦县| 平乡县| 武穴市| 民和| 恩施市| 凌云县| 金山区| 来宾市| 内丘县| 探索| 登封市| 皮山县| 鄂尔多斯市| 卢湾区| 公主岭市| 陈巴尔虎旗| 东莞市| 周至县| 沽源县| 镇巴县| 罗田县| 兴安盟| 临泉县| 高唐县| 莱州市| 醴陵市| 南平市| 繁昌县| 调兵山市| 手机| 临湘市| 和硕县| 夏津县| 措勤县|