Това е така, защото ИЛИ има по-нисък операторски приоритет em> отколкото И. Всеки път, когато DB види израз като
A AND B OR C
AND се оценява първо, т.е. е еквивалентно на
(A AND B) OR C
Така че, ако изрично искате
A AND (B OR C)
вместо това трябва да поставите скоби.
Това между другото не е специфично за SQL. Редът на приоритет на тези оператори е един и същ във всички езици за програмиране, които познавам (т.е. поне C, C++, C#, Java и Unix скриптове на обвивката).