带和/或的where子句中的SQL执行顺序

时间:2018-07-19 09:18:28

标签: sql

执行SQL查询

SELECT * FROM table_a where cond1 or cond2 and cond3;

提供与

相同的结果
SELECT * FROM table_a where (cond1 or cond2) and cond3;

1 个答案:

答案 0 :(得分:0)

不。布尔运算符具有优先级规则-在所有使用它们的编程语言中以及在此之前的数学中。 “ AND”比“ OR”绑定更紧密。这类似于算术运算符。

就像:

1 + 2 * 3

不同于:

(1 + 2) * 3

您的两个版本不同。 AND的绑定更紧密(如*)。 OR不太紧密(例如+)。