oracle 中 count(1) 和 count(*) 的区别在于:count(1) 忽略空值,仅计算非空行;count(*) 计算所有行,包括空值;选择哪个函数取决于:是否存在空值、
oracle 中 count(1) 和 count(*) 的区别在于:count(1) 忽略空值,仅计算非空行;count(*) 计算所有行,包括空值;选择哪个函数取决于:是否存在空值、追求性能或一致性的优先级。
Oracle 中 COUNT(1) 和 COUNT(*) 的区别
在 Oracle 中,COUNT(1) 和 COUNT(*) 都是用于计算表中记录数量的聚合函数,但二者之间存在着细微的区别。
COUNT(1)
COUNT(*)
选择使用哪一个?
选择 COUNT(1) 还是 COUNT(*) 取决于以下因素:
示例
假设有一个名为 students
的表,其中包含以下数据:
<code>| id | name | age |
|---|---|---|
| 1 | John | 20 |
| 2 | NULL | 25 |
| 3 | Mary | 22 |</code>
如果使用 COUNT(1) 查询此表,它将返回以下结果:
<code>SELECT COUNT(1) FROM students;
2</code>
这是因为 COUNT(1) 忽略了 NULL 值。
如果使用 COUNT(*) 查询此表,它将返回以下结果:
<code>SELECT COUNT(*) FROM students;
3</code>
这是因为 COUNT(*) 包含了 NULL 值。
以上就是oracle中count1和count*的区别的详细内容,更多请关注编程网其它相关文章!
--结束END--
本文标题: oracle中count1和count*的区别
本文链接: https://www.lsjlt.com/news/611157.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-16
2024-05-16
2024-05-16
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0