地特三等申論題
113年
[統計] 資料處理
第 一 題
📖 題組:
在一圖書館管理系統資料庫中,建有資料表「Books」與「BorrowRecords」,其分別為藏書資料與借閱狀態,其中欄位名稱 ISBN、TotalCopies、AvailableCopies、BorrowedQty 與 ReturnedQty 分別代表國際標準書號、圖書總數、可借閱數量、此次借閱數量與此次歸還數量。資料表內容如下圖所示: (表格內容請見附件圖片,包含 Books 表與 BorrowRecords 表)
在一圖書館管理系統資料庫中,建有資料表「Books」與「BorrowRecords」,其分別為藏書資料與借閱狀態,其中欄位名稱 ISBN、TotalCopies、AvailableCopies、BorrowedQty 與 ReturnedQty 分別代表國際標準書號、圖書總數、可借閱數量、此次借閱數量與此次歸還數量。資料表內容如下圖所示: (表格內容請見附件圖片,包含 Books 表與 BorrowRecords 表)
📝 此題為申論題,共 3 小題
小題 (一)
寫一個 SQL 指令查詢藏書中所有不同作者的名字列表,並按作者名字排序。查詢結果如下表所示。(5 分)
思路引導 VIP
看到「所有不同作者」應想到選取 Author 欄位並使用 DISTINCT 關鍵字去除重複紀錄;看到「按作者名字排序」則需在句尾加入 ORDER BY 子句進行排序。
小題 (二)
寫一個 SQL 指令查詢藏書中作者為張三的圖書總數。(10 分)
思路引導 VIP
本題測驗基本的 SQL 查詢語法,核心在於條件過濾(WHERE)與聚合函數(SUM 或 COUNT)的運用。解題時需注意題目中的「圖書總數」一詞對應資料表中的 TotalCopies 欄位,因此應使用 SUM(TotalCopies) 將該作者的藏書實體數量加總。
小題 (三)
寫一個 SQL 指令,依據「BorrowRecords」資料表中的借閱與歸還數量,更新「Books」資料表中 AvailableCopies(可借閱數量)為最新的數據。更新後的「Books」資料表如下圖所示。(25 分)
思路引導 VIP
看到這題先確認資料更新的數學邏輯:新的可借閱數量等於原本數量減去借出量,加上歸還量。接著構思 SQL 語法,這題涉及跨資料表更新,可使用 UPDATE 搭配關聯子查詢,或是常見的 UPDATE ... JOIN ... 語法來實作。