数据库null值聚集与空表聚集
一. NULL值聚集
假设有以下数据表t1:
a | b |
—- | —- |
NULL | 10 |
NULL | NULL |
那么,
- snippet.sql
SELECT COUNT(a) FROM t1; SELECT COUNT(b) FROM t1;
结果分别应该为:
count(a) |
——– |
0 |
count(b) |
——– |
1 |
- snippet.sql
SELECT SUM(a) FROM t1; SELECT SUM(b) FROM t1;
结果分别应该为:
sum(a) |
—— |
NULL |
sum(b) |
—— |
10 |
二. 空表聚集(无group by)
假设有以下空数据表t1(a,b):
那么,
- snippet.sql
SELECT COUNT(a) FROM t1; SELECT SUM(a) FROM t1;
结果分别应该为:
count(a) |
——– |
0 |
sum(a) |
—— |
NULL |
三. 空表聚集(有group by)
假设有以下空数据表t1(a,b):
那么,
- snippet.sql
SELECT COUNT(a) FROM t1 GROUP BY a; SELECT SUM(a) FROM t1 GROUP BY a;
结果均为:空集(Empty set)。
四. 问题
以下查询结果集应该是什么?
- snippet.sql
CREATE TABLE t1(a INT); SELECT 10 / COUNT(a) FROM t1;
打赏作者以资鼓励:
![]() | ![]() |