如何使用'in'从'和'操作获取记录并且是null子句

时间:2017-12-05 06:13:43

标签: mysql

如何在mysql查询中使用'in'和'is null'子句中的'and'操作获取包含空值和某些值的记录?

查询: select * from table1 where column in (value1,value2) or column is null;(works fine). 但是,当我使用and代替or时,我得到空集;

1 个答案:

答案 0 :(得分:0)

WHERE子句中的条件适用于每一行。

 FROM bar WHERE foo IN ('a','b','c') AND foo IS NULL 
对于bar中的任何行,

始终不会评估为TRUE。对于列foo,行具有单个值。该值可以是NULL,也可以是非NULL,一个或另一个。在评估条件时,foo的值不能同时为NULL且不为NULL。

根据定义,WHERE foo IS NOT NULL AND foo IS NULL永远不会评估为true。我们保证没有满足该条件的行。