关于SQL多表联查的问题。有深度 求解
一
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
这两句效率哪个更快,求解!
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
这两句效率哪个更快,求解!
...全文
相关推荐
深度对比 Oracle与SQL Server
### 深度对比 Oracle与 SQL Server#### 操作系统的支持在操作系统的支持方面,Microsoft SQL Server 和 Oracle 显示出了显著的区别。
sql查询分离器深度专版
综上所述,SQL查询分离器深度专版是一款全面的数据库管理和恢复工具,结合其提供的组件,能够帮助用户高效地处理各种数据库问题,确保数据的安全性和可用性。
深度对比Oracle与SQL Server
【深度对比Oracle与SQL Server】在信息技术领域,数据库管理系统(DBMS)的选择对企业的信息架构至关重要。
大飞深度SQL,为大家提供点方便
大飞深度SQL,为大家提供点方便"这个主题,暗示我们将探讨如何利用SQL进行高效的数据操作,优化查询,以及解决实际问题。下面将详细介绍一些重要的SQL概念和技巧。1.
RapidsDB海量并行SQL在大数据深度学习中的运用
RapidsDB是一个支持海量并行SQL处理的数据库系统,它在处理大数据和深度学习任务中发挥了重要作用。该系统的相关知识点主要包括以下几个方面:1.


疑难问题
