How exactly does using OR in a MySQL statement differ with/without parentheses?

后端 未结 8 1598
难免孤独
难免孤独 2020-11-29 08:20

I have this query:

SELECT * FROM (`users`) WHERE `date_next_payment` <= \'2011-02-02\' 
    AND `status` = \'active\' OR `status` = \'past due\'
         


        
8条回答
  •  时光取名叫无心
    2020-11-29 09:14

    It is not special about SQL, it is about boolean logic. Your 1st statement is:

    a AND b OR c

    That means if any c is true, you get the row.

    In a AND (b OR c)

    you get only rows where a is true and (b or c) is true.

提交回复
热议问题