首頁 >資料庫 >mysql教程 >COUNT(column) 與 COUNT(*):SQL 中的差異是什麼?

COUNT(column) 與 COUNT(*):SQL 中的差異是什麼?

Linda Hamilton
Linda Hamilton原創
2025-01-13 14:52:42899瀏覽

COUNT(column) vs. COUNT(*): What's the Difference in SQL?

SQL 中 COUNT(column) 和 COUNT(*) 的差異

問題

在查詢 SQL 表格時,COUNT(column) 和 COUNT(*) 有什麼不同?

解釋

COUNT(column) 統計指定列中非空值的個數。相較之下,COUNT(*) 統計表中的所有行數,不論指定列是否包含空值。

範例

考慮以下表格:

id name
1 John Doe
2 Jane Doe
3 NULL
4 NULL

COUNT(name) 與 COUNT(*) 的比較

  • COUNT(name):排除包含 NULL 值的行,結果為 2。
  • COUNT(*):包含包含 NULL 值的行,結果為 4。

NULL 值處理

COUNT(column) 忽略 NULL 值,而 COUNT(*) 將其視為有效條目。此行為會影響查詢結果,尤其是在對 WHERE 子句套用條件時。

附加資訊

考慮以下查詢:

<code class="language-sql">SELECT name, COUNT(*)
FROM table
GROUP BY name
HAVING COUNT(*) > 2;</code>
  • 使用 COUNT(*),結果將包含一行 NULL 值以及 NULL 值的計數。
  • 使用 COUNT(name),NULL 值將被排除,因此結果中不會傳回該行。

以上是COUNT(column) 與 COUNT(*):SQL 中的差異是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn