Isso ocorre porque OR tem menor precedência de operador do que E. Sempre que o banco de dados vê uma expressão como
A AND B OR C
o AND é avaliado primeiro, ou seja, é equivalente a
(A AND B) OR C
Então, se você quer explicitamente
A AND (B OR C)
em vez disso, você deve colocar entre parênteses.
Isso não é específico para SQL. A ordem de precedência desses operadores é a mesma em todas as linguagens de programação que conheço (ou seja, pelo menos C, C++, C#, Java e scripts de shell Unix).