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。
現在我們得到了正確的結果。
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
JavaScript
PHP