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中文網其他相關文章!