检索空值的 SELECT 语句用法,挺适合 SQL 初学者或者在项目中经常遇到字段缺省值的同学。
空值(NULL)不等于 0,也不是空格,它就像数据库里的“我不知道”,容易在查询时搞混。
用IS NULL
查空值,用IS NOT NULL
查非空,直白,不过要注意:不能拿 NULL 去跟别的值比较,不管你用=
还是>
,都不行,永远是 FALSE。
你如果在建表时没指定默认值,也没手动赋值,那字段就是 NULL。这时查不出来,别冤枉WHERE score = ''
不起作用哈,用score IS NULL
才行。
如果你常缺失数据、设计允许空值的字段,或者调试 SQL 逻辑,这部分内容还蛮值得一看。相关用法还有不少,像默认值设置啊、BETWEEN
范围查啊,都可以一起看看。