Ini karena OR memiliki prioritas operator dari DAN. Kapanpun DB melihat ekspresi seperti
A AND B OR C
AND dievaluasi terlebih dahulu, yaitu setara dengan
(A AND B) OR C
Jadi jika Anda ingin secara eksplisit
A AND (B OR C)
sebagai gantinya, Anda harus memasukkan tanda kurung.
Ini btw tidak spesifik untuk SQL. Urutan prioritas operator ini sama di semua bahasa pemrograman yang saya tahu (yaitu setidaknya skrip shell C, C++, C#, Java dan Unix).