在MySQL选择查询中,AND的优先级高于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给出结果1。
之后1或1给出结果1。
现在我们得到了确切的输出。