如何在mysql查询中使用'in'和'is null'子句中的'and'操作获取包含空值和某些值的记录?
查询:
select * from table1 where column in (value1,value2) or column is null;(works fine).
但是,当我使用and
代替or
时,我得到空集;
答案 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。我们保证没有满足该条件的行。