2012-09-25 41 views

回答

4

AND的优先级高于OR,从而

(group=12 but id <> 1) OR (id <> 2) 

所有这三个记录符合此条件的情况解释:如果你正在寻找

1 Paula  Brown [email protected] 12 -- id <> 2 
2 James  Smith [email protected]  12 -- group=12 and id <> 1 
3 James  Connor [email protected]   13 -- id <> 2 

一个不同的评估顺序,你可以用括号强制它。

+0

+1分在2分钟内回答 –

+0

谢谢dasblinkenlight。这将如何查询被解释SELECT * FROM雇员其中GROUPID = 12和ID IN(1)或ID IN(2) – questborn

+2

@questborn - 如'(组= 12,ID = 1)或(ID = 2)',所以它会匹配前两个记录。 [文档](http://docs.oracle.com/cd/E11882_01/server.112/e26088/conditions001.htm#i1034834)示出了优先级。如果可能存在模棱两可的情况,包括稍后尝试阅读代码的人,即使您不想更改评估顺序,我仍建议始终使用括号将其明确说明。 –