民國113年 初等考試 統計 資料處理大意
第13題
現有一個雇員(Employee)的資料表具有雇員帳號(Employee_ID)、雇員姓名(Employee_Name)及績效奬金(Performance_Bon…
題目
現有一個雇員(Employee)的資料表具有雇員帳號(Employee_ID)、雇員姓名(Employee_Name)及績效奬金(Performance_Bonus)等欄位,現資料表中有500 筆雇員的記錄,其中有100 筆記錄的績效奬金為空值(null),其餘均為10000 的數值,如現有一個SQL 敘述如下,請問執行的回傳值為?SELECT COUNT (*),COUNT (Performance_Bonus) FROM Employee A. 500 及500 B. 400 及100 C. 500 及400 D. 語法錯誤
官方答案
- 答案:C. 500 及400
解析
COUNT(*) 計算的是資料列的總數,不論欄位是否為空值,因此回傳 500;COUNT(Performance_Bonus) 只計算該欄位非空值(not null)的列數,100 筆空值會被略過,故回傳 400。兩者合起來即 500 及 400。這是 SQL 聚合函數對 null 處理的基本差異:COUNT(欄位) 忽略 null,COUNT(*) 不忽略。此敘述語法正確,並非 D。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。
官方資料
答案以考選部公告之測驗式試題標準答案 PDF 為準。