MySQL中and和or的區別以及同級別下的優先級


數據表:

 

使用OR關鍵字時:

  只要符合這幾個查詢條件的其中一個條件,這樣的記錄就會被查詢出來。
  如果不符合這些查詢條件中的任何一條,這樣的記錄將被排除掉。

使用and關鍵字時:

  需要符合所有條件,這樣的記錄就會被查詢出來。
  如果有任何一個條件不符合,這樣的記錄將被排除掉。

 

 

 

 

 

 

 

 可以發現上面兩條語句僅僅是調換了where條件后面的and和or,結果就變了。

這是由於and與or優先級所引起的:

  and和or同級別時and的優先級高於or

因此
當mysql的WHERE語句中出現AND OR時,使用OR組合的並列條件要用小括號把兩個條件和”OR”包起來。

 

 

 

這樣就不會出現結果不一樣了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM