SQL之left join的on后条件与where后条件的区别

本文探讨了SQL中left join操作时on条件与where条件的区别。on条件在left join后先执行,影响临时表的生成,对主表和从表的连接字段进行筛选;而where条件则对生成的临时表进行进一步过滤,会移除不匹配的null值。举例说明了不同条件对查询结果的影响,并提供了相关资源以深入理解SQL查询优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在工作的时候,被人问到两个SQL语句的区别的时候,因为之前看过,SQL语句的执行顺序,大概知道left join后先要执行on 后面的条件,然后生成两张表组成的临时表.where条件会对生成的临时表进行筛选,返回最后的结果.

但是其中的一些东西还不是很清楚,今天下午工作不是很忙,就分析了一下这个left join的问题,因为这个真的经常用,如果没有真正的了解这其中的原理,真的不确定这个语句返回什么结果.(这也就是我没有我师傅那么自信的原因吧,我现在想想我大学也是白上了,既然有这个机会重新学习,就好好努力吧!而且我想告诉自己有时候不能只注重结果,为什么可以产生这个结果要多问问自己,不能总是得过且过,要有一种认真负责的态度.)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值