NULL与不匹配

66 阅读1分钟

最近在看《MySQL必知必会》这本书,看到null与不匹配这里,对书上的这里产生了疑问就去实践了一下记录在这里

image.png 1.创建一个含有null列的表

image.png

2.过滤出年龄不为10的数据

SELECT * FROM `t_knowing_doing` where age != 10

3.查询结果

image.png

4.按照我们的设想应该过滤出2、3、4行,但是只有第4行,这是因为数据库不知道它们是否匹配,所以在匹配过滤或不匹配过滤时不返回它们。那么如果我们需要返回null行,该怎么做? 使用使用 IS NULL操作符

select * from `t_knowing_doing` where age != 10 or age is null

5.查询结果

image.png