Dzieje się tak, ponieważ OR ma niższy priorytet operatora niż AND. Ilekroć DB widzi wyrażenie takie jak
A AND B OR C
AND jest oceniane jako pierwsze, czyli jest równoważne
(A AND B) OR C
Więc jeśli wyraźnie chcesz
A AND (B OR C)
zamiast tego musisz umieścić w nawiasach.
To nie jest specyficzne dla SQL. Kolejność tych operatorów jest taka sama we wszystkich znanych mi językach programowania (tj. przynajmniej w skryptach powłoki C, C++, C#, Java i Unix).