Computer >> Máy Tính >  >> Lập trình >> MySQL

Tại sao MySQL đánh giá “TRUE hoặc TRUE và FALSE” thành true?

MySQL đánh giá “TRUE hoặc TRUE và FALSE” thành true vì AND có mức độ ưu tiên cao nhất so với OR, tức là AND được đánh giá trước OR.

MySQL đánh giá câu lệnh trên như thế này. Toán tử AND được đánh giá đầu tiên -

(TRUE or (TRUE AND FALSE))

Câu lệnh (TRUE VÀ FALSE) cho kết quả là FALSE. Sau đó, câu lệnh thứ hai đánh giá như thế này -

(TRUE or FALSE)

Câu lệnh trên cho kết quả ĐÚNG.

Hãy để chúng tôi triển khai từng cái một -

mysql> select (TRUE AND FALSE);
+------------------+
| (TRUE AND FALSE) |
+------------------+
|                0 |
+------------------+
1 row in set (0.00 sec)

Bây giờ chúng ta có thể đặt kết quả trên thay cho điều kiện AND -

mysql> select (TRUE or FALSE);
+-----------------+
| (TRUE or FALSE) |
+-----------------+
|               1 |
+-----------------+
1 row in set (0.00 sec)

Bây giờ hãy kiểm tra lại toàn bộ tình trạng -

mysql> select (TRUE or TRUE and FALSE);

Điều này sẽ tạo ra kết quả sau -

+--------------------------+
| (TRUE or TRUE and FALSE) |
+--------------------------+
|                        1 |
+--------------------------+
1 row in set (0.00 sec)