SQL的操作顺序?

时间:2012-07-17 05:43:46

标签: sql sql-server-ce

假设我有这样的陈述:

SELECT * FROM MyTable WHERE a = 1 or b = 2 and c = 3

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

1 个答案:

答案 0 :(得分:10)

来自Technet

  

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

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

您可以像上面那样写下括号来强制执行您想要的行为:(a = 1 OR b = 2) AND c = 3