MySQL中ifnull和sum的区别

本文详细介绍了MySQL中的IFNULL和SUM函数在求和运算中的使用方法和区别。IFNULL在列值为空时会返回指定的常数值,而SUM函数在遇到空值时会直接返回null。在处理可能包含空值的列时,需要根据具体情况选择合适的函数。
摘要由CSDN通过智能技术生成

求和运算经常用到ifnull和sum函数,以下对二者的使用方法和区别进行讲解

1.IFNULL

使用方法:

select 列名1+ifnull(列名2,常数) from 表名;

使用要求:
1.其中列名1的值不能为空,列名1的值一旦为null,则“列名1+ifnull(列名2,0)”的结果就为null.
2.列名2的值可以为空,列名2 的值为空时 ifnull(列名2,常数)的返回结果为常数的值,列名1的值再与其相加。(原因是:在使用IFNULL(参数1,参数2) 函数进行求和运算时, 会判断参数1的值是否为null,如果为null返回参数2的值,不为null返回参数1的值。)

例子:图为employee表中的记录


以上是一张employee表,工资字段名为salary,奖金字段名为prize,工号字段名为id,现在要求查询每个员工的工资和奖金总和。
代码如下:

select id,salary+ifnull(prize,0)as 总工资 from employee;

查询结果如下:
在这里插入图片描述
我们发现id为3的员工总工资为null,这是因为i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值