求和运算经常用到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