count(*)和count(列)之争
2015-09-18 06:02
218 查看
闲话少说,先上实验
SQL> create table test_cnt as select object_id,data_object_id from dba_objects;
表已创建。
SQL>
SQL> select count(*) from test_cnt;
COUNT(*)
----------
77431
SQL> select count(data_object_id) from test_cnt;
COUNT(DATA_OBJECT_ID)
---------------------
10987
SQL> select count(2) from test_cnt;
COUNT(2)
----------
77431
oracle 除了COUNT(*) 外,默认是不统计NULL的,COUNT(常量) 相当于在每行上加了一个常量,因此和COUNT(*) 相同
结论:
1:COUNT(*) 和 COUNT(列) 是不一样的,两者不等价(很多人的误区)
2:COUNT(*) 统计所有满足条件的记录
3:COUNT(列) 统计所有非空的列
:
SQL> create table test_cnt as select object_id,data_object_id from dba_objects;
表已创建。
SQL>
SQL> select count(*) from test_cnt;
COUNT(*)
----------
77431
SQL> select count(data_object_id) from test_cnt;
COUNT(DATA_OBJECT_ID)
---------------------
10987
SQL> select count(2) from test_cnt;
COUNT(2)
----------
77431
oracle 除了COUNT(*) 外,默认是不统计NULL的,COUNT(常量) 相当于在每行上加了一个常量,因此和COUNT(*) 相同
结论:
1:COUNT(*) 和 COUNT(列) 是不一样的,两者不等价(很多人的误区)
2:COUNT(*) 统计所有满足条件的记录
3:COUNT(列) 统计所有非空的列
:
相关文章推荐
- 基于jQuery倾斜打开侧边栏菜单特效代码
- JS+CSS实现带有碰撞缓冲效果的竖向导航条代码
- jquery点击缩略图切换视频播放特效代码分享
- jQuery焦点图切换特效代码分享
- JS实现带有抽屉效果的产品类网站多级导航菜单代码
- jquery图片轮播特效代码分享
- jquery带有索引按钮且自动轮播切换特效代码分享
- jQuery实现可展开合拢的手风琴面板菜单
- JQuery实现图片轮播效果
- jQuery带进度条全屏图片轮播特效代码分享
- 9.16学习总结
- 自定义(外观)Switch开关
- Log4j与common-logging联系与区别
- H-Index
- LeetCode-Missing Number
- apache软件包下载地址
- 2015-2016-1 《信息安全系统设计基础》学生博客列表
- DDNS client on a Linux machine
- LeetCode Interleaving String
- LeetCode Interleaving String