MySQL 选择查询中 AND 和 OR 运算符的优先级?


AND 在 MySQL 选择查询中比 OR 运算符的优先级更高。

让我们来看看 MySQL 如何给 AND 运算符最高优先级。

查询如下

mysql> select 0 AND 0 OR 1 as Result;

输出如下

+--------+
| Result |
+--------+
| 1     |
+--------+
1 row in set (0.00 sec)

如果你认为 OR 运算符的优先级更高,那么 MySQL 将对上述查询进行如下包装。

查询如下

select 0 AND (0 OR 1) as Result

首先,求解 0 OR 1,结果为 1。之后,0 和 1 将得出结果 0。

但上述情况是错误的,因为我们得到的是 0 而不是 1。因此,在上述查询中,AND 必须比 OR 优先以得到结果 1。

查询如下

select 0 AND 0 OR 1 as Result

首先,求解 AND 运算符。0 AND 0 得出结果 0。

之后,0 OR 1 得出结果 1。

现在我们得到了正确的结果。

更新于: 06-8-2021

1K+ 查看

开启您的职业

通过完成课程取得认证

开始
广告