T-SQL:JOIN与WHERE子句的附加谓词

前端之家收集整理的这篇文章主要介绍了T-SQL:JOIN与WHERE子句的附加谓词前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在JOIN语句上添加其他谓词与在WHERE语句中将它们添加为附加子句之间有什么区别吗?

示例1:WHERE子句的谓词

select emp.*
from Employee emp
left join Order o on emp.Id = o.EmployeeId
where o.Cancelled = 0

示例2:JOIN语句的谓词

select emp.*
from Employee emp
left join Order o on emp.Id = o.EmployeeId and o.Cancelled = 0

解决方法

使用第一个语句,由于WHERE条件,外连接有效地转换为内连接,因为它将过滤掉没有找到订单的employee表中的所有行(因为o.Cancelled将为NULL)

所以这两个陈述没有做同样的事情.

猜你在找的MsSQL相关文章