在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