繁体   English   中英

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

[英]SQL execution order in where clause with and/or

SQL查询

SELECT * FROM table_a where cond1 or cond2 and cond3;

提供与以下结果相同的结果

SELECT * FROM table_a where (cond1 or cond2) and cond3;

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

就像:

1 + 2 * 3

不同于:

(1 + 2) * 3

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM