LEFTJOINON后面的条件和WHERE后面的条件区别优先级首先明确两个概念:LEFTJOIN关键字会从左

//注意看以下SQL的区别selecta.id,a.major_category_id,b.major_namefromtable1aleftjointable2bon(a.major_category_id=b.idandb.major_name='游戏建模');selecta.id,a.major_category_id,b.major_namefromtable1aleftjointable2bon(a.major_category_id=b.id)whereb.major_name='游戏建模';第一个结果集:

|id|major_category_id|major_name||---|---|---||1|A|游戏建模||2|B|(Null)||3|C|(Null)|第二个结果集:

|id|major_category_id|major_name||---|---|---||1|A|游戏建模|第一个sql的执行流程:首先找到table2表的major_name为游戏建模的记录行(on(a.major_category_id=b.idandb.major_name='游戏建模'))。然后找到a的数据(即使不符合b表的规则),生成临时表返回用户。

第二个sql的执行流程:首先生成临时表,然后执行where过滤b.major_name='游戏建模'不为真的结果集,最后返回给用户。

因为on会首先过滤掉不符合条件的行,然后才会进行其它运算,所以按理说on是最快的。

在多表查询时,on比where更早起作用。系统首先根据各个表之间的联接条件,把多个表合成一个临时表后,再由where进行过滤,然后再计算,计算完后再由having进行过滤。由此可见,要想过滤条件起到正确的作用,首先要明白这个条件应该在什么时候起作用,然后再决定放在那里。

对于JOIN参与的表的关联操作,如果需要不满足连接条件的行也在我们的查询范围内的话,我们就必需把连接条件放在ON后面,而不能放在WHERE后面(比如左表的数据范围比连接表的范围大,连接条件放在on后面,不满足连接表的会以null形式显示,如果放在where后面,就会把这些数据过滤掉)。

如果我们把连接条件放在了WHERE后面,那么所有的LEFT,RIGHT,等这些操作将不起任何作用,对于这种情况,它的效果就完全等同于INNER连接。对于那些不影响选择行的条件,放在ON或者WHERE后面就可以。

THE END
1.巧解积最大和积最小问题再把数字1加在后面,有43×521,431×52两种情况,同样可得431×52是最大的。 贡献法 考虑加入数字0,构成两个三位数相乘,乘积最大,则0在末位。 首先最高位为4和5,于是 4□□×5□□, 先判断3在数字4后面还是在数字5后面, 若在4后面,贡献为30×5□□, https://www.meipian.cn/2huqh2wv
2.首先其次后面是什么顺序首先其次后面是什么顺序怀海 初中语文 精选回答 首先、其次、再次、从次、最后。如后还要加的话,就是:首先、其次、再次、从次、最后、另外、除此之外、值得一提的是。顺序关系就是知识库中的一种关系,指定目的对象集合内的每个目的对象的显式位置。 逻辑连接词 这些都是逻辑连接词,用来表示要叙述的事物间的https://edu.iask.sina.com.cn/jy/2sMES6EDdRw.html
3.《草木医学说到医学,目前有两个医学派系四套理论模型,我就不展开啰嗦了。我门直接以疾病反推医学,以医学反推生命,看看十年以后的未来医学应该是什么样的。 一、治病,先破病。 首先看肺炎这个诊断病名是什么意思? 可以简单的理解:肺部;发炎! 发炎是什么意思:发炎是火,火是热! https://www.jianshu.com/p/6b411ad0d61d
4.歌名后面加个''cover''是什么意思?听音乐的时候,我们会看到一些歌的后面会有一个'cover'之类的英文单词,大家都知道是什么意思嘛? 今天我们就来一起看一看吧! cover 首先我们来看看这个单词的释义: cover 英[?k?v?(r)] 美 [?k?v?r] v. 掩蔽;遮盖;盖;覆盖;撒上,洒上,溅上(一层液体、尘土等) http://www.360doc.com/content/21/0316/14/46996736_967262020.shtml
5.0CH579M程序升级篇OTA(自建物联网平台)在后面白线是保留; 可挂起系统服务(棕线); 系统滴答定时器中断函数地址 (黄线) CH579程序是如何做中断偏移的(看我的骚操作) 1,首先大家伙一定要记住, 无论哪一套程序, 其中断函数的相对位置是一样的 假设执行了base程序里面的复位中断函数, 而我此时想执行BootLoader程序里面的复位中断函数怎么办? 我只https://cloud.tencent.com/developer/article/1990284
6.原神5月4日兑换码是什么5.4最新兑换码20232023年游戏《原神》中,最新5月4日礼包兑换码是7URTF54ARHEW。兑换途径是首先点击头像,左侧的设置图标,进入设置界面的账户,点击兑换码后面的【前往兑换】,输入兑换码,点击兑换就可以了。 详细答案: 兑换码:7URTF54ARHEW 点击查看2023年5月兑换码大全 https://ol.3dmgame.com/gl/230194.html
7.java中Long类型后面一定要加L吗java定义long必须加l首先直接回答问题 long类型数字后面为什么一定要加L? 基本数据类型int,占用4个字节,取值范围为-231 ~ 231-1,转换为十进制是-2147483648 ~ 2147483647基本数据类型long,占用8个字节,取值范围为-263 ~ 263-1,转换为十进制是-9223372036854775808 ~ 9223372036854775807 https://blog.51cto.com/u_16099321/6811760
8.沙发后面背景墙挂什么画好文章摘要:沙发后面的墙一般大家喜欢挂一些画,起到装饰作用,选择画也是有讲究的,首先来了解下,沙发后面背景墙挂什么画好? 背景墙的装饰画需要与房屋装修的整体风格一致,才更美观更协调,比如中式风格,可以选择以下类型: 1、富贵花画。例如牡丹、梅花等,不仅能将室内装饰的优雅温馨,而且还具有富贵气息,也体现了主人的https://www.loupan.com/bk/114982.html
9.第7课:一般现在时态·英语学习首先,我们来学习第一个小句型: (一)人称代词主格(主格)+ is/are/am + 形容词(表语) 这个小句型非常简单,在这个句型里面,我们用人称代词主格充当主语,用形容词充当表语,然后,只要注意is/are/am 的用法就可以了。每个人称代词主格后面跟的 be 都是非常固定的,只要记住下面的搭配就可以了: https://www.kancloud.cn/lsx8629303/rumenban/2378066
10.耳朵后面长了个硬包挂什么科耳朵后面长了硬包,首先要挂耳鼻喉科看一看。耳鼻喉科常见于以下几种表现。第一种情况,可以是长期https://www.myzx.cn/ask/6470075