Mysql
 sql >> Database >  >> RDS >> Mysql

In che modo differisce esattamente l'utilizzo di OR in un'istruzione MySQL con/senza parentesi?

Questo perché OR ha una precedenza dell'operatore di AND. Ogni volta che il DB vede un'espressione come

A AND B OR C

l'AND viene valutato per primo, ovvero equivale a

(A AND B) OR C

Quindi, se vuoi esplicitamente

A AND (B OR C)

invece, devi mettere tra parentesi.

Questo non è specifico per SQL. L'ordine di precedenza di questi operatori è lo stesso in tutti i linguaggi di programmazione che conosco (cioè almeno C, C++, C#, Java e script di shell Unix).