SQL Server ANDs and ORs precedence



我在调试一些代码时遇到了这个问题。有人可以帮助我根据SQL Server的顺序把这个语句周围的父母。是我的问题,还是这是糟糕的代码?

WHERE 
T1.C1 = @VAR1 AND T1.C2 = @VAR2 AND T1.C3 NOT IN(@VAR3)
OR T2.C1 = @VAR2 OR T3.C1 = @VAR2

就像这样,它将被解析为

WHERE 
(T1.C1 = @VAR1 AND T1.C2 = @VAR2 AND T1.C3 NOT IN(@VAR3))
OR
(T2.C1 = @VAR2)
OR
(T3.C1 = @VAR2)

最新更新