2012-04-26 107 views
1

是否有可能在sql中实现这样的事情?多个搜索条件sql

ID!= {2,3} 

其中ID是一列。或者我必须使用多个OR语句?

回答

5

是,not in

ID not in (2,3) 

你可以阅读更多here

+0

或'在(2,3)不是ID' - 我已经在过去的上面的语法问题 - 特别是当处理NULL值。 – 2012-04-26 21:07:18

+0

@MattTew。 NULL值是DB是“没有”,所以你需要小心这些。不同的DBMS可以用其他方式处理。但除此之外,你有'不在'有什么样的问题? – gdoron 2012-04-26 21:09:45

+0

我不能说脱手。我只知道我在过去一直在想,为什么NOT IN不能正常工作,但是颠倒了语法(使用MySQL)。我想我也在使用子查询来获取集合。你的回答是正确的(我赞成它),只是加入我的2c。 – 2012-04-26 21:13:23

3

你必须尝试用

ID NOT IN (2,3) 

或者

ID <> 2 or ID <> 3 
+0

你可能的意思是:'id <> 2 ** AND ** id <> 3'。你的条件将永远是真实的.. ID不能等于2 **和**等于3在同一时间! – gdoron 2012-05-01 21:37:26