与SQL IN()语句相反

问题描述:

IN()sql语句的反义词是什么?我将如何构造以下语句来提取除2,5和6以外的所有记录。“!”在IN不起作用之前。与SQL IN()语句相反

$sql = "SELECT * FROM table WHERE column IN('2','5','6')"; 
+2

NOT IN should work。你正在使用哪个数据库? – 2012-04-18 03:38:59

$sql = "SELECT * FROM table WHERE column NOT IN('2','5','6')"; 

编辑:

正如所指出的 'onedaywhen' 和评论 'ypercube',

对于Null允许列,你可能需要添加

OR column IS NOT NULL 

OR column IS NULL 
+0

那太容易了。谢谢! – David 2012-04-18 03:43:04

+1

当你考虑空值时,它并不完全相反。 – onedaywhen 2012-04-18 07:42:53

+1

As @onedaywhen评论时,*“除2,5和6之外的所有记录”*不等于'列NOT IN('2','5','6')'为可空列。 – 2012-11-14 08:17:16