本文标识 :MQ0011

本文编辑 :长安月下赏美人儿

编程工具 :MySQL

阅读时长 :3分钟

走过坑坑洼洼,终究会封神!

在现实工作中,经常会遇到一个神奇的字眼 “NULL",这是啥?它有啥用?啥时候用?怎么用?着实令人头秃!!!

小编用目前浅薄的知识储备,来分享对 NULL 的理解!

1、NULL 的含义

Null 在数据库中表示“不知道的数据”,主要有3种意思:

(1)知道数据存在,但不知道具体值

(2)不知道数据是否存在

(3)数据不存在

2、NULL 和空值区别

(1)关于空间占用

NULL,占用空间

空值,不占空间

举个例子吧,一个透明的塑料袋,那么

空值:表示塑料袋真空状态,没放东西,平平扁扁易收纳;

NULL:表示塑料袋里有空气,没放东西,但鼓鼓的充满空气,占地方。

(2)关于正确书写

null,用 is 与 is not

例:select name from tbl_name where sexis null;

空值,用 = 与

例:select name from tbl_name where sex=' ';

3、当其他语句遇到NULL

CONCAT 遇到 NULL:

当连接一个没有限定为空值的数列,则结果为 null

例子,select concat(‘a城市',null),显示结果为 null

COUNT 遇到 NULL:

会优先将 null 排除

例子,某数据共有128行数据,其中字段 price 有一个 null 值

则,count(price)=127、count(*)=128

AVG 遇到 NULL:

会优先将 null 排除

例子,一列数字1,2,3,4,null,求均值

则,avg=(1+2+3+4)/4

GROUP BY 遇到 NULL:

会单独列出一组,专门以 null 分组记录数据

例子,price 中含有 3 个数值,2 个数值是 66,一个数值为2,则以 price 为分组依据,则会分为两组,第一组名称为 66 ,第二组名称为 null。

写在后面,还会有很多遇到 null 的情况,如有后续,会继续分享,同时也欢迎小伙伴儿们积极留言讨论,分享遇到 null 的惊喜!

收藏 打印