MySQL中count(*)和count(columnName)之间的区别?
无论列是否包含空值,count(*)返回所有行,而count(columnName)返回除空行之外的行数。
让我们首先创建一个表。
以下是查询
mysql> create table ifNotNullDemo -> ( -> Name varchar(20) -> );
以下是使用insert命令在表中插入一些记录的查询:
mysql> insert into ifNotNullDemo values('Chris');
mysql> insert into ifNotNullDemo values('');
mysql> insert into ifNotNullDemo values('Robert');
mysql> insert into ifNotNullDemo values(null);
mysql> insert into ifNotNullDemo values(0);以下是使用select语句显示表中所有记录的查询:
mysql> select *from ifNotNullDemo;
这将产生以下输出
+--------+ | Name | +--------+ | Chris | | | | Robert | | NULL | | 0 | +--------+ 5 rows in set (0.00 sec)
情况1:以下是count(*)的演示,其中的count也包含null:
mysql> select count(*) from ifNotNullDemo;
这将产生以下输出
+----------+ | count(*) | +----------+ | 5 | +----------+ 1 row in set (0.02 sec)
情况2:以下是对count(columnName)的查询。
mysql> select count(Name) from ifNotNullDemo;
这将产生以下输出
+-------------+ | count(Name) | +-------------+ | 4 | +-------------+ 1 row in set (0.00 sec)
热门推荐
10 新年门口花束祝福语简短
11 盘锦结婚祝福语大全简短
12 父母生日祝福语 简短独特
13 家庭恩爱祝福语简短英文
14 高考俄语祝福语大全简短
15 虎年祝福语 诗句唯美简短
16 生日婚礼祝福语简短精辟
17 虎年喝酒拜年祝福语简短
18 教师闺蜜祝福语简短