Mysql
 sql >> база данни >  >> RDS >> Mysql

Как точно се различава използването на ИЛИ в MySQL израз със/без скоби?

Това е така, защото ИЛИ има по-нисък операторски приоритет em> отколкото И. Всеки път, когато DB види израз като

A AND B OR C

AND се оценява първо, т.е. е еквивалентно на

(A AND B) OR C

Така че, ако изрично искате

A AND (B OR C)

вместо това трябва да поставите скоби.

Това между другото не е специфично за SQL. Редът на приоритет на тези оператори е един и същ във всички езици за програмиране, които познавам (т.е. поне C, C++, C#, Java и Unix скриптове на обвивката).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да получите общия брой резултати, когато има LIMIT в заявката?

  2. Как да заменя всеки друг екземпляр на конкретен символ в MySQL низ?

  3. PHP Проверка за NULL

  4. Производителност на MYSQL OR срещу IN

  5. Как да съхранявам поръчки?