MYSQL AND & OR 优先级

MYSQL AND & OR priority

我知道建议使用括号来分隔 and ,or statements.but 我想知道 mysql 引擎如何在没有 parenthesis.lets 的情况下渲染语句假设我们有这个声明:

select * from users where A and B or C and D;

带括号会怎样?

AND 的优先级高于 OR。

select * from users where (A and B) or (C and D);

参考:http://dev.mysql.com/doc/refman/5.7/en/operator-precedence.html

AND 的优先级高于 OR.

Priority of AND and OR operator in Mysql select query

Operator Precedence

就像在数学表达式中:

AND is like a PRODUCT
OR is like a SUM

所以 AND 在 OR 之前执行,除非通过括号另有说明,就像在数学中一样。