初考-統計資料處理大意113 年第 13 題單選題
現有一個雇員(Employee)的資料表具有雇員帳號(Employee_ID)、雇員姓名(Employee_Name)及績效奬金(Performance_Bonus )等欄位,現資料表中有 500 筆雇員的記錄,其中有 100 筆記錄的績效奬金為空值(null),其餘均為 10000 的數值,如現有一個 SQL 敘述如下,請問執行的回傳值為?
SELECT COUNT (*),COUNT (Performance_Bonus) FROM Employee
A500 及 500
B400 及 100
C500 及 400正確答案
D語法錯誤
C正確答案
COUNT(*) 算全部列數含 NULL,COUNT(欄位) 只算該欄非 NULL 的值
逐選項解析
A500 及 500✕ 易錯陷阱
誤以為 COUNT(Performance_Bonus) 也會把 NULL 算進去。實際上 SQL 聚合函數遇到 NULL 一律跳過,不會計入。
B400 及 100✕ 易錯陷阱
把兩個數字都算錯。COUNT(*) 絕對是全部 500 筆,不會扣掉 NULL;100 是 NULL 的筆數,不是非 NULL 的筆數。
立即註冊,看完整詳解
這題的完整詳解,註冊就能看 · 每天 2 題免費
精選詳解- 完整逐選項解析
- 秒殺解題技巧與破題關鍵
- 關鍵知識表整理
- 陷阱與易錯提醒
- 同考點歷屆題庫連續刷題與錯題本