liuyong2730

2020-06-17   阅读量: 2120

Mysql

mysql 中的空值是什么?查询计算时如果有空值,时如何处理的?

扫码加入数据分析学习群

数据库中,空值是一种特殊的类型,经过老师的讲解和练习,对于空值我有以下认识。

  • 不能跟任何类型值比较,如select null=null 返回结果是空值,对于空值,只能用is null 或 is not null 来判断,才能返回布尔值。
  • 在多表连接时,如果连接条件里含有空值,不会连接。
  • 在做子查询时候,如果用子查询中含有空值,where 返回的结果是空。

如:查询普通员工工资等级,子查询结果是领导的编号包含一个空值,查询返回结果是空

select empno,ename,sal,grade

from emp

left join salgrade

on sal between losal and hisal

where empno not in (select mgr

from emp)

如果子查询排除空值就可以得到正确结果。

同样,如果子查询操作符any或all,也需要在子查询中排除null。

  • 在分组聚合函数group_concat中,空值会被忽略。

  • 在合并字符串函数 concat中,如果有空值,返回还是空值。

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
14.1679 3 3 关注作者 收藏

评论(1)

liuyong2730
2020-06-18
所有聚合函数都忽略空值
0.0000 0 0 回复

推荐课程