前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何打败坑神 Null

如何打败坑神 Null

作者头像
DataScience
发布2020-01-02 12:51:09
2940
发布2020-01-02 12:51:09
举报
文章被收录于专栏:A2DataA2Data

本文标识 : 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 sex is 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 的惊喜!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DataScience 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档