关于SQL多表联查的问题。有深度 求解

和永恒有關 和永恒有關 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
一
SELECT HubID,FactoryID,dtu.DTUID,DeviceName,dtu.projectid,dtu.isdel
FROM tDTU dtu
left join tHubControl hub
on dtu.DTUID=hub.DTUID and dtu.IsDel = 0 and hub.IsDel = 0

得出的结果如图:



二
SELECT HubID,FactoryID,dtu.DTUID,DeviceName,dtu.projectid,dtu.isdel
FROM tDTU dtu
left join tHubControl hub
on dtu.DTUID=hub.DTUID
where dtu.IsDel = 0 and hub.IsDel = 0


得出的结果如图:






两句唯一的不同就在于 “一”是on后面跟连接条件加and
“二”是on后面跟连接条件加where
结果却不同,但这不是绝对的,有的时候这两句执行后得到的结果相同。


问:为什么只把“on”改为“where”结果就不同了。为什么“on”后面的and没有限制住isdel=0

这两句效率哪个更快,求解!
...全文

相关推荐

评论 33
收藏 已收藏
分享
返回顶部
和永恒有關
疑难问题 22,298 成员 121,727 内容