sql >> Databáze >  >> RDS >> Mysql

Jak přesně se liší použití OR v příkazu MySQL s/bez závorek?

Je to proto, že operátor OR má nižší přednost operátora než AND. Kdykoli DB uvidí výraz jako

A AND B OR C

AND je vyhodnocen jako první, tj. je ekvivalentní

(A AND B) OR C

Pokud tedy vysloveně chcete

A AND (B OR C)

místo toho musíte dát do závorek.

Toto mimochodem není specifické pro SQL. Pořadí priorit těchto operátorů je stejné ve všech programovacích jazycích, které znám (tj. alespoň C, C++, C#, Java a Unixové shellové skripty).



  1. Jak provedu vložení a vrácení vložené identity pomocí Dapper?

  2. Emotikony pro iPhone se vloží do MySQL, ale stanou se prázdnou hodnotou

  3. Souhrnná funkce v dotazu aktualizace SQL?

  4. Kdy bych měl použít složený index?