剖析MySQL左连接右连接等值连接异同

剖析MySQL左连接右连接等值连接异同

ID:44301172

大小:114.05 KB

页数:7页

时间:2019-10-20

上传者:U-7604
剖析MySQL左连接右连接等值连接异同_第1页
剖析MySQL左连接右连接等值连接异同_第2页
剖析MySQL左连接右连接等值连接异同_第3页
剖析MySQL左连接右连接等值连接异同_第4页
剖析MySQL左连接右连接等值连接异同_第5页
资源描述:

《剖析MySQL左连接右连接等值连接异同》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

剖析MySQL左连接/右连接/等值连接异同从业以來,发现很多技术人员和同爭向笔者或是徃网络上咨询过LEFTJOIN如何写及其特性,而等值连接-•般都没问题,儿年前曾经写过一份MicrosoftSQLServer版本的,此次特意再写一份MySQL版本的,希望阅读过的技术人员,可以起到解惑功效。1、三种连接的语从业以来,发现很多技术人员和同事向笔者或是在网络上咨询过LEFTJOIN如何写及其特性,而等值连接一般都没问题,儿年前曾经写过一份MicrosoftXXServer版本的,此次特意再写一份刈辽版本的,希望阅读过的技术人员,可以起到解惑功效。1、三种连接的语法为便于更多的技友快速读懂、理解,我们只讨论2张表对象进行连接操作的情况,人于2张表对象进行的连接操作原理也是一样的。左连接C£FTJOIN)SELECTMcolumnnams,N*columnname--..FKMlef^_tableMLELTJOINrighttableNCNMcolumnnairjjoirF^Jcolumnname_join/NDNcolumnname^XXVHEREMco1umnname^CXX--..右连接倒KHTJOINSELECTMcolumnname,N*columnname・・.•FK.Mleft_tableMRICHTJOINrighttableNCNMco1umnnamejoicolumnnamejoinco1umnname^XXWHERENco1umnnams^XX--..等值连接SELECTMcolumnnaiw,N*columnname-..FRCMlefstableM[INSER.IJOINrighstableNCNMco1umnname_JoicolumnnamejoinWHEREMco1umnname^XX--..ADNco1umnnams^XX….或者SELECTMcolumnnaiw,N*colimnname・・•・FKMleftjtableM,righttableNAHEREMco1unnnanT_joicokimnnarne_join^NDMcolumnnane^XX••…/WNcolumnnarrESELECTMusernan-eFKMlcfjableMVHEREMH>=6;ID|username|1|0644035@q.ccm|I2|25173782^q.can|I3|6632812(@]q.cam|I4|1675243迥]q.can||5|921171沁q.can|I6|02026078^q.can|标准左连接CN字句中无连接字段之外条件的辽及数据编号:9□二root@loca1host:eugene03:37:58>SELECTMIQMusername,NCollectNuri)NBuyNum->FKMlefoableMLEFTJOINfighjtableNCNMID^JUID亠WEREMID^ ID|username|CollectNim|BuyNum|I1|0644035Q^q.can|817|39|I2|2517378逊q.can|NULL|NULL||3|6632812(@iq.can|NULL|NULL||4|1675243逊q.ccm|NULL|NULL||5|9211719@q.ccm|NULL|NULL|I6|0202607逊q.cam|5177|36|6字句中除连接字段条件之外,还有rightjable限制条件的也及数据编号:律』root@loca1host:eugene03:40:20>SELECTMusernains,NOdIlectNun;NBuyNum->FRCMlefoableMLEFTJOINrigh.ableNCNMII>NUID/WNSearchNun>30->VHFREMH>=6;ID|username|CollectNiin|BuyNum|I1|0644035(@jq.ccm|817|39||2|2517378逾q.can|NULL|NULL|I3|6632812(@|q.can|NULL|NULL||4|1675243遍q.can|NULL|NULL||5|921171沁q.ccm|NULL|NULL||6|0202607逾q.can|NULL|NULL|d111F带JO嚎键字的等值连接对应编号:90/的等值连接测试的3X及数据编号:SXJroot@loca1host:eugene03:41:27>SELECTMIQMusername,NCollectNuri)NBuyNum-lefoableMI?NERJOINrigh^tableNCNMID=NUID亠WEREMID^ID|username|CollectNim|BuyNum|I1|0644035(@iq.ccm|817|39|16|0202607伽.can|5177|36|对应编号:33/的等值连接测试的9□[及数据编号:SChJ)root@loca1host:eugene03:42:53>SELECTMIQMusername,NCollectNuri)NBuyNum->FRCMlef^_tableMINNERJOINrigh^JableNCNMID汎UID州DNScarchNunl>300->WiEREMID^6;ID|username|CollectNum|BuyNum| I1|0644035(@]q.can|817|39|不带JO啤键字的等值连接对应编号:旳/的等值连接测试的辽及数据编号:S3,root@localhost:eugene03:43:01>SELECTMIE)Musername,NCollectNun;NBuyNum->ERCMlefttableMrighttableN->VHFREMH>NUID>WMH>==6;ID|username|CollectNiin|BuyNum||1|0644035(@iq.ccm|817|39||6|02026078^q.ccm|5177|36|对应编号:90二的等值连接测试的辽及数据编号:辽卫root@loca1host:eugene03:49:35>SELBSTMLQMusername,NCollectNurr)NBuyNum->EE£Mlef^JableMrighstableN->VHEREMEMN:UIDyWMNSearchNunJ>30QID|username|CollectNum|BuyNum|I1|0644035(@|q.can|817|39|常见错误用法的左连接错把限制表righLJable的条件,从GN子句中放到VHERE字句中的辽及数据编号:90^root@loca1host:eugene03:49:57>SELECTMIQMusernaiTe,NCollectNurnNBuyNum->FRCMlefjtableMLEFTJOINrighstableNCNMIE>NUIDT>MHEREMIDW6ANDNScarchNumMOO;ID|username|CollectNum|EuyNum||1|0644035@q.ccm|817|39|错把限制表lcfjable或称影响最终记录集的条件,从VHERE子句中放到字句中的SX及数据编号:S3畀root@loca1host:eugene03:54:14>SELECTMIQMusername,NCollectNuri)NBuyNum->FRCMlefoableMLEFTJOINrigh.ableNCNMID拭UIDZDMH>・6ADNSearcliNurn>30Q |6|02026078§qq.can|NULL|NULL|I7|039905l@q.ccm|NULL|NULL||9|0530192@q.ccm|NULL|NULL|I1|0644035®q・cam|817|39|I4|1675243迥]q.can|NULL|NJLL||2|2517378砂q.ccm|NULL|NULL||10|5659994@q.ccm|NULL|NULL|I3|6632812(@]q.cam|NULL|NULL||5|92117196@]q.can|NULL|NJLL|I8|9367796l@jq.ccm|NULL|NULL|ID|usernameCollectNum|BuyNum|测试总结编号93J:表lefyable真实参与测试的记录的ID值:1,2,3,45,6共计6条连续的记录;编号XX28XJ:对于LEFTJOIN连接操作,增加righ^_table的限制条件,不影响最后记录集的数量,但是影响righLJable表中需要显示出來的列值,不符合限制条件的情况下,则用NJLL值替代;编号93/对于等值连接操作,CN字句中增加対righLJable的限制条件,会对最终的记录集数量产生影响;编号93也33/对于等值连接操作,AHERE字句中增加对righLJable的限制条件,会对最终的记录集数量产生影响;编号(辽乙93/或(3X3SXJ):我们可以轻易发现编号:SX2迫/之间唯一的差别是连接的类型不同:93/为左连接,而93/为等值连接,其他所有的都一样,然后辽执行后获得的记录集却截然不一样,并且93二是对符合表lcfjable限制条件的记录都作为最后的记录集,而9□/则是对同时符合表lefjabb表righuable限制条件的记录才作为最后的记录集;辽J与93/之间対比获得的结论,同样适用于3^3与9□二之间,为此部再单独描述;编号(辽ASX◎或(律§MO:对于等值连接操作,不管对righLJable的限制条件,放CN字句,还是WHERE子句中,对记录集影响都是一样的;编号93J90仝93^&93^与93^相比较我们可发现,用的连接关键字都是:左連接,但是CN了句中的表righ^jable限制条件被放到AHERE子句中,导致最后获得的记录集完全不一样,而是跟等值连接辽丿的记录集一样,通过比较可以发现的记录集不符合左连接的特性,而是符合等值连接的特性,所以此写法不是右连接语句,而是相当于等值连接的语句;编号炬2SX3.刃口与SX2.律」的连接关键字都是:左连接,其记录集相比较可以发现限制表lefLJable的记录条件:MID05没有起作用,限制表 righ^able的记录条件:NSearchHnWOO依然有效果,从左连接的特性角度分析,依然属于左连接,只是写法很混乱,容易误导辽的读者。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭