Como exatamente o uso de OR em uma instrução MySQL difere com / sem parênteses?
Eu tenho esta consulta:
SELECT * FROM (`users`) WHERE `date_next_payment` <= '2011-02-02'
AND `status` = 'active' OR `status` = 'past due'
O que não retorna os resultados corretos. No entanto, adicionar parênteses em torno das condições OR faz com que funcione assim:
SELECT * FROM (`users`) WHERE `date_next_payment` <= '2011-02-02'
AND (`status` = 'active' OR `status` = 'past due')
Minha pergunta é por que é diferente? Entendo que está considerando a instrução OR de maneira diferente sem os parênteses; mas não entendo como é diferente.
Não encontrei nenhum documento que tenha sido útil sobre isso. Se houver algum link por aí, eu realmente aprecio isso.