SQL 中多個 and or 的組合運算

2022-02-15 18:59:00 字數 690 閱讀 2192

and、or運算子的組合使用

在where子句中,通過and、or運算子可以同時連線多個條件,當然and、or運算子也可以同時使用。但是當and、or運算子同時存在時,其優先順序如何確定呢?與大多數語言一樣,sql語言認為and運算子的運算級別要高於or運算子。即當出現:

condition1  or   condition2  and   condition3

其運算實際上是等價於:condition1 or   (condition2 and condition3)     //先運算and  再運算or

因此,and、or運算子需要同時使用時,一定要注意運算子的優先順序

網上獲取計算機和生物老師工資》1000的人

select  tname, dname, sal

from   teacher

where    (dname='計算機' or dname='生物')

and   sal>1000

order by  sal

可以發現,當在or運算子連線的兩個條件加上括號( )後,得到了需要的查詢結果。這是因為,括號( )的優先順序高於and運算子,執行過程就先於and運算子。

注意 當or運算子和and運算子同時運用時,建議使用者不要考慮其預設的優先順序順序,而是採用括號( )來實現需要的執行順序,這樣可以增強程式的可讀性。

SQL中 and or優先順序問題

剛剛在專案中遇到這樣乙個問題,sql語句如下 select from loan back library where library id 1 or lib id 1 and status 3 我想要的結果的條件是 1.library id 1 或者 lib id 1 2.status 3 但是結果...

SQL中 and or優先順序問題

sql中 and or優先順序問題 剛剛在專案中遇到這樣乙個問題,sql語句如下 select from loan back library where library id 1 or lib id 1 and status 3 我想要的結果的條件是 1.library id 1 或者 lib id...

SQL中 and or優先順序問題

原文 剛剛在專案中遇到這樣乙個問題,sql語句如下 select from loan back library where library id 1 or lib id 1 and status 3 我想要的結果的條件是 1.library id 1 或者 lib id 1 2.status 3 但...