函数Count()的优化
需求:在一条SQL中同时查处2006年和2007年电影的数量
错误的方式:
语句:
select count(release_year='2006' or release_year='2007') from film;
2006和2007年分别是多少,判断不出来
select count(*) from film where release_year='2006' or release_year='2007';
正确的编写方式:
select count(release_year='2006' or null) as '06films',count(release_year='2007' or null) as '07films' from film;
区别:count(*)和count(id)
创建表并插入语句
create table t(id int);
insert into t values(1),(2),(null);
Count(*):select count(*)from t;
Count(id):select count(id)from t;
说明:
Count(id)是不包含null的值
Count(*)是包含null的值