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 生女孩红包简短祝福语