2
有什么区别之间以下查询在连接和where子句之后写入过滤条件有什么区别?
Select E.EmployeeCode,E.Name,D.DepartmentCode,D.DepartmentName
From Employee E
inner join Department D on D.DepartmentID=E.DepartmentID
Where e.EmployeeType='Developer'
Vs的
Select E.EmployeeCode,E.Name,D.DepartmentCode,D.DepartmentName
From Employee E
inner join Department D on D.DepartmentID=E.DepartmentID And e.EmployeeType='Developer'
我要求在性能方面。 如何上面的查询performe在表
当你进行内部连接时,完全没有区别。 (当谈到外部连接,他们有不同的结果...) – jarlh
这是流行的问题,有这样的几个线程。例如:http://stackoverflow.com/questions/1018952/condition-within-join-or-where –
对于外部连接可能会有显着差异。对于条件放置不影响结果的情况,这只是一种风格和个人偏好问题。与我建议放置在'where'中的连接本身条件无关。像你的'employeetype ='developer''。这与加入无关,有点令人困惑。就像你忘了一些东西,或者实际上想要一个“左连接”。 –