MySQL 语句中有and、or注意项
MySQL中,AND的执行优先级高于OR。也就是说,在没有小括号()的干预下,总是先执行AND语句,再执行OR语句。
例:
select * from table where 条件1 OR条件2 AND 条件3
等价于:select * from table where 条件1 OR (条件2 AND 条件3)
select * from table where 条件1 AND 条件2 OR 条件3 AND 条件4
等价于: select * from table where ( 条件1 AND 条件2 ) OR ( 条件3 AND 条件4 )
所以在需要 or 查询条件时最好把 or 条件用圆括号括起来
例如:
查询 id=1或id=2,并 且age = 20的语句为:
SELECT * from student WHERE (id = 1 or id = 2 ) AND age = 20;
浙公网安备 33010602011771号