如果我有这样的加入:
select u1.*
from users u
inner join users u2 on u.id = u2.id
where u2.location = 'blah' and u2.level > 2
与
select u1.*
from users u
inner join users u2 on u.id = u2.id and u2.location='blah' and u2.level > 2
有人可以向我解释每个查询的区别和细微差别吗(假设存在某种区别)
答案 0 :(得分:1)
两个查询之间应该没有明显的区别。不过,我建议将查询与where子句一起使用。将其放在单独的一行可以使查询更易于阅读,并且如果需要重写查询,则对您或其他人来说,更容易找到WHERE子句并对其进行修复。
以下是一些适合您的阅读材料:INNER JOIN ON vs WHERE clause