我想了很多,但一直没有找到答案。在我不知道如何评估 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'))
它是否正确?或者如何评估条件?它与不同的数据库引擎有什么不同吗?