【发布时间】:2013-03-01 21:28:25
【问题描述】:
我想了很多,但一直没有找到答案。在我不知道如何评估 SQL 查询的 where 子句中的条件的情况下,我发现了自己。可以肯定的是,我一直使用括号来使其更具可读性和易于理解。我认为有时使用括号来增加可读性是一种很好的做法,即使它可能不是必需的。
考虑以下查询
SELECT *
FROM mytable
WHERE name='Anton'
AND lastname='Gildebrand'
OR age > 18
AND country='Sweden'
我想这个查询实际上等于
SELECT *
FROM mytable
WHERE name='Anton'
AND (lastname='Gildebrand' OR (age > 18 AND country='Sweden'))
这是正确的吗?或者如何评估条件? 和不同的数据库引擎有区别吗?
【问题讨论】:
-
这就是为什么使用
OR也应该意味着使用括号;只是为了可读性。
标签: sql