これは、ORの演算子の優先順位が低いためです。 em> ANDより。 DBが
のような式を見たときはいつでもA AND B OR C
ANDが最初に評価されます。つまり、
と同等です。(A AND B) OR C
したがって、明示的に必要な場合
A AND (B OR C)
代わりに、かっこを入れる必要があります。
これはSQLに固有のものではありません。これらの演算子の優先順位は、私が知っているすべてのプログラミング言語(つまり、少なくともC、C ++、C#、Java、およびUnixシェルスクリプト)で同じです。