免費開始練習
moea_joint_essay 110年 [資訊] 資訊管理、程式設計

第 二 題

📖 題組:
某書局採會員制販售各式國、高中參考書,系統的關聯式資料庫(Relational Database)包含 4 個資料表(table)如下,有底線者為主鍵: 參考書(書籍編號、書籍名稱、出版商編號、單價、會員折扣數) 出版商(出版商編號、出版商名稱、聯絡人) 銷售(銷售編號、會員編號、銷售日期、書籍編號、數量、售價、購買總額) 會員(會員編號、名字、入會日期、聯絡電話) 若非會員,銷售資料表之欄位(會員編號)紀錄為 N99,書籍之售價採參考書資料表的欄位(單價)販售;反之,若為會員,則採參考書資料表的欄位(單價)乘以欄位(會員折扣數)販售。 針對下列問題,請分別寫出 SQL 指令來進行查詢。(3 題,每題 5 分,共 15 分)
📝 此題為申論題,共 3 小題

小題 (二)

若書籍編號 B3169 的銷售量為最好,請列出會員與非會員的購買總額,各是多少?

思路引導 VIP

透過 CASE WHEN 判斷會員編號是否為 'N99',區分為會員與非會員,篩選指定書籍編號,再加總購買總額並依會員類型進行群組 (GROUP BY)。

🤖
AI 詳解
AI 專屬家教

SELECT CASE WHEN 會員編號 = 'N99' THEN '非會員' ELSE '會員' END AS 身分, SUM(購買總額) AS 購買總額

小題 (一)

請列出每本參考書的銷售數量,並按書籍編號由小到大排序。

思路引導 VIP

使用 SELECT 查詢銷售資料表,利用 SUM 函數加總數量,搭配 GROUP BY 對書籍編號進行群組,最後以 ORDER BY 進行遞增排序。

🤖
AI 詳解
AI 專屬家教

SELECT 書籍編號, SUM(數量) AS 銷售數量 FROM 銷售 GROUP BY 書籍編號

小題 (三)

書籍編號 B6188 為新出版上架之參考書,店員第一天將會員折扣數由 92 折誤輸入為 82 折,直到當天盤點結帳才發現,請問當天書局少收了多少錢?

思路引導 VIP

將銷售表與參考書表連接 (JOIN),過濾特定書籍且排除非會員 (N99),計算每筆少收的金額:數量 × 單價 × (正確折扣0.92 - 錯誤折扣0.82),最後使用 SUM 加總。

🤖
AI 詳解
AI 專屬家教

SELECT SUM(S.數量 * R.單價 * (0.92 - 0.82)) AS 少收金額 FROM 銷售 S JOIN 參考書 R ON S.書籍編號 = R.書籍編號

🏷️ 相關主題

關聯式資料庫設計、SQL查詢與資料正規化
查看更多「[資訊] 資訊管理、程式設計」的主題分類考古題