有人可以解释我下面的查询将如何工作..我有一个名为employee
的表id FirstName LastName Email Groupid
1 Paula Brown pb@testdomain.org 12
2 James Smith jim@test.co.uk 12
3 James Connor jc@tes.co.uk 13
select * from employee where groupid=12 AND id NOT IN (1) OR id NOT IN (2)
这个查询是如何工作的?我试图了解AND子句如何与OR一起使用。任何帮助将不胜感激......
答案 0 :(得分:4)
AND
优先于OR
,因此条件被解释为
(group=12 but id <> 1) OR (id <> 2)
所有三条记录都符合以下条件:
1 Paula Brown pb@testdomain.org 12 -- id <> 2
2 James Smith jim@test.co.uk 12 -- group=12 and id <> 1
3 James Connor jc@tes.co.uk 13 -- id <> 2
如果您正在寻找不同的评估顺序,可以使用括号强制它。