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*的区别的详细内容。更多信息请关注PHP中文网其他相关文章!