天天看點

Mysql查詢時當where條件中有and和or時候需要注意優先級關系

     在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