热线电话:13121318867

登录
2020-06-17 阅读量: 3322
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中,如果有空值,返回还是空值。

14.1679
3
关注作者
收藏
评论(1)

发表评论
liuyong2730
2020-06-18
所有聚合函数都忽略空值
0.0000 0 0 回复
推荐帖子
条评论