在mysql查询时,经常会遇到where条件中and与or同时出现的情况,但是正常拼写sql往往不能打到预期的效果,需要把and 的条件使用括号括起来或者or的条件括起来才会达到预期的效果,这是因为where条件中 and优先与or ,所以加上括号就可以改变优先级关系。
例如: select * from table from height = 170 and age >10 or age < 5
实际的执行效果是 所有身高等于170 并且年龄大于10 的同学 或者 年龄小于5的同学
如果加上括号:select * from table from height = 170 and (age >10 or age < 5 )
则这条语句执行的结果 身高等于170 的同学 并且 年龄 大于10 或者小于5