这是我的查询
select * from table8 where dept='Mechanical' and date between '2014-04-01' and '2014-04-26' and status='Completed' or status='Pending'
它返回其他dept值
答案 0 :(得分:1)
OR
运算符的优先级低于AND
。参见MySQL运算符优先级规则,例如here
所以这一切都正常,但是你做了or status='Pending'
,它也会返回只有待处理状态的行。
使用括号来阐明优先顺序,特别是:
... and (status='Completed' or status='Pending')