Je to proto, že operátor OR má nižší přednost operátora než AND. Kdykoli DB uvidí výraz jako
A AND B OR C
AND je vyhodnocen jako první, tj. je ekvivalentní
(A AND B) OR C
Pokud tedy vysloveně chcete
A AND (B OR C)
místo toho musíte dát do závorek.
Toto mimochodem není specifické pro SQL. Pořadí priorit těchto operátorů je stejné ve všech programovacích jazycích, které znám (tj. alespoň C, C++, C#, Java a Unixové shellové skripty).