欢迎光临散文网 会员登陆 & 注册

千锋教育2023版Java面试宝典Java面试200题(含美团、字节、阿里大厂真

2023-07-19 20:13 作者:bili_87736235224  | 我要投稿

一、语义不清晰

null 和 not null 使用空值代表的含义是不一样的

null 我们可以认为这一列的值是未知的,空值则可以认为我们知道这个值,只不过它是空的而已

比如一张表的 name 字段是 null,我们可以认为不知道名字是什么,反之如果是空字符串我们知道没有名字,它就是一个空值

二、聚合函数计算不准确

对于 null 值的列,使用聚合函数的时候会忽略 null 值

比如表里面有两条数据,其中一条数据的 name 字段值为 null,如果对 name 进行 count,表示对非 null 列进行统计,所以查出来的结果为 1,这显然是不符合我们的预期的。但是,在实际开发中一般都是对 id 字段进行统计数量

三、导致等号表达式失效

比如表的 name 字段是 null,如果使用等号查询,是查不到的,必须使用 is null 才能查询出来

四、导致值运算失效

比如表的 age 字段值是 null,加 1 之后结果还是 null,name 字段值是 null,concat 之后结果也变成了 null,这也是不符合我们预期的

五、导致一些意想不到的问题

比如表里面只有一条 name为高启强的数据,但是查询不等于高启强的数据时,显示只有一条,这显然不符合我们的预期


千锋教育2023版Java面试宝典Java面试200题(含美团、字节、阿里大厂真的评论 (共 条)

分享到微博请遵守国家法律