AVG()函数忽略列值为 NULL 的行。
MAX()函数忽略列值为 NULL 的行。
MIN()函数忽略列值为 NULL 的行。
SUM()函数忽略列值为 NULL 的行。
COUNT()函数有两种情况:
1.使用 COUNT(column)对特定列中具有值的行进行计数,忽略 NULL 值。
2.使用 COUNT(*)对表中行的数目进行计数,不管表列中包含的是空值(NULL)还是非空值。
例如:
CREATE TABLE student2(
id INT,
sname VARCHAR(20),
address VARCHAR(20)
);
INSERT INTO student2 VALUES (NULL,NULL,NULL);
1. SELECT COUNT(id) FROM student2;//结果为 0。
SELECT max(id) FROM student2;//结果为 null
SELECT min(id) FROM student2;//结果为 null
2. SELECT COUNT(*) FROM student2; //结果为 1。
Oracle 假设 t 表有 1 条记录,id=1,若 select count(1) from t where id<>id 的结果为 0,那么
select max(id) from t where id<>id 和
select min(id) from t where id<>id 的结果为?
select max(id) from t where id<>id;//结果为 null
select max(id) from t where id<>id;//结果为 null
除了 count 函数,max,min,sum 等函数对数据集不包含任何行,或者只包含作为聚合函数的那个参数为
null,则该函数返回 null
评论