MySQL tuân theo thứ tự ưu tiên toán tử logic: AND có độ ưu tiên cao hơn OR. Do đó biểu thức được nhóm ngầm như sau:
TRUE OR (TRUE AND FALSE)
Bước 1: Đánh giá TRUE AND FALSE → FALSE (0).
mysql> SELECT (TRUE AND FALSE); -- Kết quả: 0
Bước 2: Thay thế: TRUE OR FALSE → TRUE (1).
mysql> SELECT (TRUE OR FALSE); -- Kết quả: 1
Kiểm tra toàn bộ biểu thức:
mysql> SELECT (TRUE OR TRUE AND FALSE); -- Kết quả: 1
Tóm tắt thứ tự ưu tiên
NOTANDORXOR
Mẹo: Luôn dùng ngoặc đơn () để làm rõ ý định, tránh nhầm lẫn: (TRUE OR TRUE) AND FALSE sẽ cho kết quả FALSE.