本文标识 :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 的惊喜!
领取专属 10元无门槛券
私享最新 技术干货