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+ 檢視

開啟您的職業

透過完成課程取得認證

開始
廣告
© . All rights reserved.