阿摩線上測驗 登入

申論題資訊

試卷:109年 - 109 高等考試_三級_資訊處理:資料庫應用#88745
科目:公職◆資料庫應用
年份:109年
排序:0

題組內容

一、某一家圖書公司的關聯式資料庫(Relational Database)包含了作者、圖書及寫書三個表格(Table)。作者表格記錄作者的編號與姓名;圖書表格記錄圖書編號、書名、西元出版年份(例如,2018)、銷售數量(例如,5000);寫書表格記錄作者與圖書的關係,為多對多的關係。這三個表格的關聯綱要(Relational Schema)如下所示: 
作者(作者編號、作者姓名) 
圖書(圖書編號、書名、出版年份、銷售數量) 
寫書(作者編號圖書編號
有底線的屬性(Attribute)為該表格之主鍵(Primary Key);例如,寫書表格之主鍵為作者編號與圖書編號兩個屬性的組合。寫書表格有作者編號與圖書編號兩個外來鍵,分別參照作者表格與圖書表格的主鍵。針對下列三個查詢問題,請各寫出一個SQL指令來進行查詢。

申論題內容

(二)列出寫過一本以上的書的每一位作者之作者編號。

詳解 (共 1 筆)

詳解 提供者:hchungw
SELECT 作者編號
FROM 寫書
GROUP BY 作者編號
HAVING COUNT(圖書編號) > 1;
說明
SELECT 作者編號:選取寫書表格中的作者編號這個屬性。
FROM 寫書:指定查詢來源於寫書表格。
GROUP BY 作者編號:將記錄按作者編號進行分組。
HAVING COUNT(圖書編號) > 1:設定條件,篩選出寫過一本以上書的作者,即計算每個作者的圖書編號數量,並只保留數量大於1的記錄。
這條查詢語句將返回所有寫過一本以上的書的作者的作者編號。