Aracılığıyla paylaş


Mantıksal işleç önceliği

Içinde birden çok mantıksal işleç kullanıldığında bir deyim, ilk olarak değerlendirildiği NOT sonra VE ve son VEYA.Aritmetik ve bitwise, işleçleri, mantıksal işleçler önce işlenir.

Aşağıdaki örnekte, ürün modeli için renk koşul geçerlidir. 21 Ürün modeli için 20, çünkü AND üzerinde önceliğe sahiptir. OR.

USE AdventureWorks;
GO
SELECT ProductID, ProductModelID
FROM AdventureWorks.Production.Product
WHERE ProductModelID = 20 OR ProductModelID = 21
  AND Color = 'Red'

Sorgunun anlamı değerlendirmesinin zorlamak için parantez ekleyerek değiştirmek OR Birinci. Yalnızca ürün modeli altında aşağıdaki sorgu bulur 20 ve 21 kırmızı olan.

SELECT ProductID, ProductModelID
FROM AdventureWorks.Production.Product
WHERE (ProductModelID = 20 OR ProductModelID = 21)
  AND Color = 'Red'

Parantez kullanarak, gerekli olmayan olsa bile sorgularının Okunabilirliği artırmak ve nedeniyle işleç önceliğine ince bir hata yapma şansını azaltmak.Ayraçlar kullanarak yok bir önemli performans cezası vardır.Sözdizimsel olarak aynıdır, ancak aşağıdaki örnekte, özgün örnek daha daha okunabilirdir.

SELECT ProductID, ProductModelID
FROM AdventureWorks.Production.Product
WHERE ProductModelID = 20 OR (ProductModelID = 21
  AND Color = 'Red')