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 妈妈生日祝福语简短励志