SQL的操作顺序?

twe*_*ypi 4 sql sql-server-ce

假设我有这样的陈述:

SELECT * FROM MyTable WHERE a = 1 or b = 2 and c = 3
Run Code Online (Sandbox Code Playgroud)

这是否意味着:(a = 1)OR(b = 2 AND c = 3)或它是否意味着(a = 1或b = 2)和c = 3?我可以改变它的含义,即在AND之前执行OR或者这是不可能的吗?

Ari*_*iac 10

来自Technet:

当在语句中使用多个逻辑运算符时,首先计算AND运算符.您可以使用括号更改评估顺序.

是的,这意味着(a = 1) OR (b = 2 AND c = 3).

您可以通过编写括号来强制执行所需的行为,如上所述: (a = 1 OR b = 2) AND c = 3