Според Предпочитание на оператора за MySQL
AND
има по-висок приоритет от OR
.
Така чеC1 AND C2 OR C3
ще се третира като (C1 AND C2) OR C3
За да отмените приоритета по подразбиране, трябва да използвате скоби като:C1 AND (C2 OR C3)
Във вашия случай правилната заявка е:
SELECT name, sex, fur, color
FROM dogs
WHERE sex='male' AND fur='short' AND (color='black' OR size="big");