日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SQL語(yǔ)句中l(wèi)eft join后用on還是where

Android編程精選 ? 來(lái)源:CSDN博客 ? 作者:jcpp9527 ? 2021-11-22 11:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

來(lái)自丨blog.csdn.net/wqc19920906/article/details/79785424

前天寫SQL時(shí)本想通過(guò) A left B join on and 后面的條件來(lái)使查出的兩條記錄變成一條,奈何發(fā)現(xiàn)還是有兩條。后來(lái)發(fā)現(xiàn) join on and 不會(huì)過(guò)濾結(jié)果記錄條數(shù),只會(huì)根據(jù)and后的條件是否顯示 B表的記錄,A表的記錄一定會(huì)顯示。不管and 后面的是A.id=1還是B.id=1,都顯示出A表中所有的記錄,并關(guān)聯(lián)顯示B中對(duì)應(yīng)A表中id為1的記錄或者B表中id為1的記錄。運(yùn)行sql :

select * from student s left join class c on s.classId=c.id order by s.id

運(yùn)行sql :

select * from student s left join class c on s.classId=c.id and s.name=“張三” order by s.id

運(yùn)行sql :

select * from student s left join class c on s.classId=c.id and c.name=“三年級(jí)三班” order by s.id

數(shù)據(jù)庫(kù)在通過(guò)連接兩張或多張表來(lái)返回記錄時(shí),都會(huì)生成一張中間的臨時(shí)表,然后再將這張臨時(shí)表返回給用戶。在使用left jion時(shí),on和where條件的區(qū)別如下:1、 on條件是在生成臨時(shí)表時(shí)使用的條件,它不管on中的條件是否為真,都會(huì)返回左邊表中的記錄。2、where條件是在臨時(shí)表生成好后,再對(duì)臨時(shí)表進(jìn)行過(guò)濾的條件。這時(shí)已經(jīng)沒(méi)有l(wèi)eft join的含義(必須返回左邊表的記錄)了,條件不為真的就全部過(guò)濾掉。假設(shè)有兩張表:

兩條SQL:1、

select * form tab1 left join tab2 on (tab1.size = tab2.size) where tab2.name=’AAA’

2、

select * form tab1 left join tab2 on (tab1.size = tab2.size and tab2.name=’AAA’)

第一條SQL的過(guò)程:1、中間表on條件:

tab1.size = tab2.size

2、再對(duì)中間表過(guò)濾where 條件:

tab2.name=’AAA’

第二條SQL的過(guò)程:1、中間表on條件:

tab1.size = tab2.size and tab2.name=’AAA’

(條件不為真也會(huì)返回左表中的記錄)其實(shí)以上結(jié)果的關(guān)鍵原因就是left join,right join,full join的特殊性,不管on上的條件是否為真都會(huì)返回left或right表中的記錄,full則具有l(wèi)eft和right的特性的并集。而inner jion沒(méi)這個(gè)特殊性,則條件放在on中和where中,返回的結(jié)果集是相同的。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • SQL
    SQL
    +關(guān)注

    關(guān)注

    1

    文章

    807

    瀏覽量

    46963
  • 數(shù)據(jù)庫(kù)
    +關(guān)注

    關(guān)注

    7

    文章

    4085

    瀏覽量

    68569
  • SQL語(yǔ)句
    +關(guān)注

    關(guān)注

    0

    文章

    19

    瀏覽量

    7252

原文標(biāo)題:SQL語(yǔ)句中 left join 后用 on 還是 where,區(qū)別大了!

文章出處:【微信號(hào):AndroidPush,微信公眾號(hào):Android編程精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    NineData SQL AI 智能補(bǔ)全上線:寫 SQL,不必每次都從頭敲

    NineData推出SQLAI智能補(bǔ)全功能,通過(guò)AI技術(shù)實(shí)現(xiàn)上下文感知的SQL語(yǔ)句智能提示。該功能不僅能補(bǔ)全關(guān)鍵字,還能根據(jù)當(dāng)前輸入內(nèi)容預(yù)測(cè)后續(xù)查詢意圖,顯著提升多表關(guān)聯(lián)、復(fù)雜條件等場(chǎng)景下的編寫效率
    的頭像 發(fā)表于 04-01 20:19 ?331次閱讀
    NineData <b class='flag-5'>SQL</b> AI 智能補(bǔ)全上線:寫 <b class='flag-5'>SQL</b>,不必每次都從頭敲

    SQL分析選型:DMS/DAS與NineData該如何選擇

    阿里云 DMS 的慢SQL 趨勢(shì)、DAS 的 SQL 審計(jì)能力成熟,可滿足阿里云用戶基礎(chǔ)需求。NineData 側(cè)重跨云統(tǒng)一工作臺(tái)、研發(fā)與 DBA 協(xié)同,打通慢日志分析、性能診斷、規(guī)范審核、索引建議全鏈路,更適配企業(yè)級(jí)慢查詢持續(xù)治理。
    的頭像 發(fā)表于 03-25 17:20 ?1554次閱讀
    慢<b class='flag-5'>SQL</b>分析選型:DMS/DAS與NineData該如何選擇

    哪些人更適合用 NineData 社區(qū)版的慢 SQL 功能:DBA、后端、SRE,還是技術(shù)負(fù)責(zé)人?

    本文只討論在 MySQL 慢 SQL 場(chǎng)景下的使用邊界。NineData 社區(qū)版支持離線部署、Docker 單機(jī)部署,數(shù)據(jù)庫(kù) DevOps 提供 10 個(gè)數(shù)據(jù)源可用額度,核心功能與專業(yè)版保持一致。如果團(tuán)隊(duì)要的是分布式集群、跨區(qū)域?yàn)?zāi)備、靈活擴(kuò)展和 SLA,那屬于企業(yè)版范圍,這里不展開(kāi)。
    的頭像 發(fā)表于 03-19 23:15 ?397次閱讀

    NineData 社區(qū)版的慢SQL分析,比查看日志+看EXPLAIN適合中小團(tuán)隊(duì)

    本文探討 NineData 社區(qū)版在 MySQL 慢 SQL 場(chǎng)景對(duì)中小團(tuán)隊(duì)的適用性。與 “查看日志 + 看 EXPLAIN” 傳統(tǒng)方式不同,它將慢 SQL 按模板聚合,能從大盤、模板、診斷等多維
    的頭像 發(fā)表于 03-17 14:07 ?139次閱讀
    NineData 社區(qū)版的慢<b class='flag-5'>SQL</b>分析,比查看日志+看EXPLAIN適合中小團(tuán)隊(duì)

    MySQL 慢 SQL 排查這件事,NineData 社區(qū)VS DBeaver/ Navicat 技術(shù)分析

    DBeaver Community 和 Navicat Premium Lite 都是很有價(jià)值的客戶端工具,在單條 SQL 的查詢和驗(yàn)證上,依然是 DBA 最順手的入口。 但 NineData
    的頭像 發(fā)表于 03-17 11:53 ?149次閱讀
    MySQL 慢 <b class='flag-5'>SQL</b> 排查這件事,NineData 社區(qū)VS DBeaver/ Navicat 技術(shù)分析

    條件的執(zhí)行語(yǔ)句

    條件執(zhí)行語(yǔ)句大多在if語(yǔ)句中使用,也在使用關(guān)系運(yùn)算符(<,==,>等) 或者布爾值表達(dá)式(,!等)計(jì)算復(fù)雜表達(dá)式時(shí)使用。對(duì)于包含函數(shù)調(diào) 用的代碼片段,由于函數(shù)返回值會(huì)被
    發(fā)表于 12-12 08:25

    C語(yǔ)言的分支結(jié)構(gòu)介紹

    1.簡(jiǎn)單if語(yǔ)句 C語(yǔ)言中的分支結(jié)構(gòu)語(yǔ)句中的if條件語(yǔ)句。 簡(jiǎn)單if語(yǔ)句的基本結(jié)構(gòu)如下: 代碼語(yǔ)言:javascript if(表達(dá)式) { 執(zhí)行代碼塊; } 其語(yǔ)義是:如
    發(fā)表于 11-25 07:48

    不用編程不用聯(lián)網(wǎng),實(shí)現(xiàn)倍福(BECKHOFF)PLC對(duì)接SQL數(shù)據(jù)庫(kù),上報(bào)和查詢數(shù)據(jù)的案例

    消息區(qū)域顯示的狀態(tài)消息;根據(jù)狀態(tài)消息調(diào)試。如下圖:智能網(wǎng)關(guān)根據(jù)以上配置自動(dòng)生成SQL語(yǔ)句命令,結(jié)合數(shù)據(jù)庫(kù)相關(guān)參數(shù)對(duì)接到服務(wù)器,多個(gè)SQL語(yǔ)句用\'任務(wù)組\'區(qū)分,相同的任務(wù)組即為同一個(gè)
    發(fā)表于 10-10 11:14

    數(shù)據(jù)庫(kù)慢查詢分析與SQL優(yōu)化實(shí)戰(zhàn)技巧

    今天,我將分享我在處理數(shù)千次數(shù)據(jù)庫(kù)性能問(wèn)題中積累的實(shí)戰(zhàn)經(jīng)驗(yàn),幫助你系統(tǒng)掌握慢查詢分析與SQL優(yōu)化的核心技巧。無(wú)論你是剛?cè)腴T的運(yùn)維新手,還是有一定經(jīng)驗(yàn)的工程師,這篇文章都將為你提供實(shí)用的解決方案。
    的頭像 發(fā)表于 09-08 09:34 ?1273次閱讀

    SQL 通用數(shù)據(jù)類型

    SQL 通用數(shù)據(jù)類型 數(shù)據(jù)庫(kù)表中的每個(gè)列都要求有名稱和數(shù)據(jù)類型。Each column in a database table is required to have a name and a
    的頭像 發(fā)表于 08-18 09:46 ?887次閱讀

    Unicore標(biāo)準(zhǔn)NEMA語(yǔ)句GSA及說(shuō)明

    本文介紹和芯星通的NEMA語(yǔ)句說(shuō)明。
    的頭像 發(fā)表于 07-16 11:39 ?857次閱讀
    Unicore標(biāo)準(zhǔn)NEMA<b class='flag-5'>語(yǔ)句</b>GSA及說(shuō)明

    數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫(kù)被加密如何恢復(fù)數(shù)據(jù)?

    SQL Server數(shù)據(jù)庫(kù)故障: SQL Server數(shù)據(jù)庫(kù)被加密,無(wú)法使用。 數(shù)據(jù)庫(kù)MDF、LDF、log日志文件名字被篡改。
    的頭像 發(fā)表于 06-25 13:54 ?870次閱讀
    數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—<b class='flag-5'>SQL</b> Server數(shù)據(jù)庫(kù)被加密如何恢復(fù)數(shù)據(jù)?

    達(dá)夢(mèng)數(shù)據(jù)庫(kù)常用管理SQL命令詳解

    達(dá)夢(mèng)數(shù)據(jù)庫(kù)常用管理SQL命令詳解
    的頭像 發(fā)表于 06-17 15:12 ?7688次閱讀
    達(dá)夢(mèng)數(shù)據(jù)庫(kù)常用管理<b class='flag-5'>SQL</b>命令詳解

    大促數(shù)據(jù)庫(kù)壓力激增,如何一眼定位 SQL 執(zhí)行來(lái)源?

    語(yǔ)句成為了性能瓶頸。面對(duì)這樣的困境,本篇文章提出了對(duì) SQL 進(jìn)行 “染色” 的方法來(lái)幫助大家 一眼定位問(wèn)題 SQL,而無(wú)需再在多處邏輯中輾轉(zhuǎn)騰挪 。本文的思路主要受之前郭忠強(qiáng)老師發(fā)布的 如何一眼定位
    的頭像 發(fā)表于 06-10 11:32 ?685次閱讀
    大促數(shù)據(jù)庫(kù)壓力激增,如何一眼定位 <b class='flag-5'>SQL</b> 執(zhí)行來(lái)源?

    詳解TIA Portal SCL編程語(yǔ)言中的IF語(yǔ)句

    IF 語(yǔ)句是編程中最基本和最重要的控制結(jié)構(gòu)之一,它的主要作用是根據(jù)條件決定程序的執(zhí)行路徑,IF 語(yǔ)句是編程中實(shí)現(xiàn)邏輯判斷和決策的基礎(chǔ)。
    的頭像 發(fā)表于 05-24 15:01 ?2200次閱讀
    詳解TIA Portal SCL編程語(yǔ)言中的IF<b class='flag-5'>語(yǔ)句</b>
    随州市| 黄冈市| 榕江县| 黄石市| 个旧市| 久治县| 呈贡县| 阳泉市| 普陀区| 临颍县| 怀远县| 北票市| 石河子市| 尼玛县| 阳山县| 乌拉特后旗| 星座| 安溪县| 朝阳市| 天峨县| 农安县| 山东省| 澳门| 米脂县| 洱源县| 溆浦县| 大同县| 法库县| 广州市| 贵南县| 卓尼县| 兴安县| 沾化县| 九龙县| 阳朔县| 扬州市| 股票| 上林县| 南皮县| 陕西省| 盈江县|