计算机对逻辑算符的运算次序,逻辑运算符的优先顺序
當一個語句中使用了多個邏輯運算符時,計算順序依次為:NOT、AND 和 OR。算術運算符和位運算符優先于邏輯運算符處理。
在以下示例中,顏色條件適用于 Product Model 21 而不是 Product Model 20,因為 AND 優先于 OR。
USE AdventureWorks;
GO
SELECT ProductID, ProductModelID
FROM AdventureWorks.Production.Product
WHERE ProductModelID = 20 OR ProductModelID = 21
AND Color = 'Red'
可以通過添加括號強制先計算 OR 來改變查詢的含義。以下查詢只查找模型 20 和 21 中紅色的產品。
SELECT ProductID, ProductModelID
FROM AdventureWorks.Production.Product
WHERE (ProductModelID = 20 OR ProductModelID = 21)
AND Color = 'Red'
因為運算符存在優先級,所以使用括號(即使不要求)可以提高查詢的可讀性,并減少出現細微錯誤的可能性。使用括號不會造成重大的性能損失。下面的示例比原始示例更可讀,雖然它們在語義上是相同的。
SELECT ProductID, ProductModelID
FROM AdventureWorks.Production.Product
WHERE ProductModelID = 20 OR (ProductModelID = 21
AND Color = 'Red')
總結
以上是生活随笔為你收集整理的计算机对逻辑算符的运算次序,逻辑运算符的优先顺序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一句话图片码
- 下一篇: SpringBoot集成Elastics