数据库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;
打赏作者以资鼓励:
![]() | ![]() |

