sql >> Database >  >> RDS >> Mysql

Hoe verschilt het gebruik van OR in een MySQL-statement precies met/zonder haakjes?

Dit komt omdat OR een lagere operatorvoorrang heeft dan EN. Telkens wanneer de database een uitdrukking ziet zoals

A AND B OR C

de AND wordt eerst geëvalueerd, d.w.z. het is gelijk aan

(A AND B) OR C

Dus als je expliciet wilt

A AND (B OR C)

in plaats daarvan moet je tussen haakjes zetten.

Dit is btw niet specifiek voor SQL. De volgorde van prioriteit van deze operators is hetzelfde in alle programmeertalen die ik ken (d.w.z. tenminste C, C++, C#, Java en Unix shellscripts).



  1. $filter werkt niet in JPA/Olingo 2.0.11 met MySQL

  2. Python:Hoe krijg ik tijd van een datetime.timedelta-object?

  3. Oracle Datum kolom opschonen

  4. De eerste dag van de week in MySql krijgen met Week No