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.