Theo Ưu tiên toán tử cho MySQL
AND
có mức độ ưu tiên cao hơn OR
.
Vì vậy, C1 AND C2 OR C3
sẽ được coi là (C1 AND C2) OR C3
Để ghi đè ưu tiên mặc định, bạn cần sử dụng dấu ngoặc đơn là:C1 AND (C2 OR C3)
Trong trường hợp của bạn, truy vấn phù hợp là:
SELECT name, sex, fur, color
FROM dogs
WHERE sex='male' AND fur='short' AND (color='black' OR size="big");