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

Mức độ ưu tiên của toán tử AND và OR trong truy vấn chọn MySQL?

AND có mức độ ưu tiên cao nhất so với toán tử OR trong truy vấn chọn MySQL.

Hãy để chúng tôi kiểm tra cách MySQL dành ưu tiên cao nhất cho toán tử AND.

Truy vấn như sau

mysql> select 0 AND 0 OR 1 as Result;

Sau đây là kết quả

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

Nếu bạn đang xem toán tử OR có mức độ ưu tiên cao nhất thì MySQL sẽ kết thúc truy vấn trên như thế này.

Truy vấn như sau

select 0 AND (0 OR 1) as Result

Đầu tiên, giải quyết 0 HOẶC 1, điều này sẽ cho kết quả 1. Sau đó 0 và 1 sẽ cho kết quả 0.

Nhưng trường hợp trên không ổn vì chúng ta nhận được 0 và đầu ra là 1. Vì vậy, trong truy vấn trên, AND được ưu tiên cao nhất so với OR để nhận được kết quả 1.

Truy vấn như sau

select 0 AND 0 OR 1 as Result

Đầu tiên, giải quyết toán tử AND trước. 0 VÀ 0 cho kết quả 0.

Sau đó 0 HOẶC 1 cho kết quả 1.

Bây giờ chúng tôi đang nhận được kết quả chính xác.