Dit komt omdat OR een lagere operatorvoorrang heeft dan EN. Telkens wanneer de database een uitdrukking ziet zoals
A AND B OR C
de AND wordt eerst geëvalueerd, d.w.z. het is gelijk aan
(A AND B) OR C
Dus als je expliciet wilt
A AND (B OR C)
in plaats daarvan moet je tussen haakjes zetten.
Dit is btw niet specifiek voor SQL. De volgorde van prioriteit van deze operators is hetzelfde in alle programmeertalen die ik ken (d.w.z. tenminste C, C++, C#, Java en Unix shellscripts).