AdSense

網頁

2020/9/19

Oracle COUNT(*) 與 COUNT(column) 區別

SQL計算資料筆數COUNT(*)COUNT(column)差別如下。

COUNT(*)是計算全部的資料筆數,而COUNT(column)會略過column為null的欄位筆數。

例如下面EMPLOYEE資料表有5筆資料,部分資料的AGE欄位為null。

EMPLOYEE

+----+------+---------+
| ID | NAME |   AGE   |
+----+------+---------+
|  1 | john | 33      |
|  2 | mary | 24      |
|  3 | bill | 41      |
|  4 | lily | (null)  |
|  5 | hank | (null)  |
+----+------+---------+

執行COUNT(*)

SELECT COUNT(*) FROM EMPLOYEE;
+----------+
| COUNT(*) |
+----------+
|        5 |
+----------+

執行COUNT(AGE)

SELECT COUNT(AGE) FROM EMPLOYEE;
+------------+
| COUNT(AGE) |
+------------+
|          3 |
+------------+

因此一般情況要計算條件查詢的資料筆數用COUNT(*)

沒有留言:

AdSense