null是sql中的常见的关键字之一,英文意思是:空。应为它特殊的存在,平时统计数据需要特别注意它的不可不知。
1.null是一种特殊的值,对某个字段使用DISTINCT关键字时,null会和一般值一样,进行排重,只保留一个值。
2.不能对null 值使用比较运算符。简言之,虽然Null是数值,但是不可以对它使用 = 或者 !=,我们可以使用is null 或者 is not null。
3.count(*)会统计null值,count(列名)不包括nul值。
4.含有null值的运算结果都为null。
5.使用sum和ave函数时,相应的列中有null值的话,null不会参与计算。譬如,1,2,3,null,null,4,5
sum该列,值会是15,avg该列的话会是15/5,注意分母不是7而是5.如果需要null值作为0参与运算,可以使用case when 方式进行判断。
select avg(case when col is null then 0 else col end) from example;#分母为7
此外,使用max,min也会忽略null值。
6.如果某一列含有null,使用group by 进行聚合时也会单独保留一行。