与mysql的in函数相反的是什么?

时间:2014-09-10 15:49:03

标签: mysql sql

with in function我可以找到具有指定值的行:

SELECT * FROM table1 WHERE value IN (1,3,4);

但我如何选择不是1,3,4:

的值
SELECT * FROM table1 WHERE value != (1,3,4);

2 个答案:

答案 0 :(得分:6)

我认为你要找的是NOT IN

SELECT * FROM table1 WHERE value NOT IN (1,3,4);

答案 1 :(得分:2)

SELECT * FROM table1
WHERE value IS NULL OR value NOT IN (1,3,4)
 ;

说明:

  • IN删除重复项和NULL:(a,b,b, NULL) - > (a,b)
  • 将NULL与值进行比较会产生false
  • 将NULL与NULL进行比较也会产生false

结果:

SELECT COUNT(*) FROM mytable WHERE color IN ('red', 'blue');

SELECT COUNT(*) FROM mytable WHERE color NOT IN ('red', 'blue');

无需数到:

SELECT COUNT(*) FROM mytable;