民國112年 高考三級 統計 資料處理

第1題

在資料庫中,建有資料表「CompanyA」與「CompanyB」,其分別為A與 B兩家電腦公司本身販賣的產品,內容如下表所示,表格有兩個欄位,欄 位分別代表ID…

題目

在資料庫中,建有資料表「CompanyA」與「CompanyB」,其分別為A與 B兩家電腦公司本身販賣的產品,內容如下表所示,表格有兩個欄位,欄 位分別代表ID與產品品項名稱。請回答下列問題: CompanyA CompanyB 寫一個SQL指令查詢上述兩家公司販售的所有產品品項,重複的品項不 要刪除,且產品品項名稱按字母順序排序,查詢結果如下表所示。(10分) Item CPU GPU Keyboard Monitor Mouse Mouse NB NB PC PC Router Tablet Tablet 寫一個SQL指令查詢上述兩家公司販賣的相同產品品項,且產品品項名 稱按字母順序反項排序,查詢結果如下表所示。(15分) Item Tablet PC NB Mouse 寫一個SQL指令查詢CompanyB公司有販售但CompanyA公司沒有販售 的產品品項名稱,查詢結果如下表所示。(15分) Item CPU Router ID Product CPU Tablet NB Router PC Mouse ID Product PC Monitor GPU NB Tablet Keyboard Mouse

參考解答(AI 生成,非官方)

  • 一、解題前提與資料觀察:CompanyA 有 6 筆產品(CPU、Tablet、NB、Router、PC、Mouse),CompanyB 有 7 筆(PC、Monitor、GPU、NB、Tablet、Keyboard、Mouse),合計 13 筆,與第一小題結果表的筆數完全相符,可用來驗證資料判讀是否正確。兩張表結構相同(ID、Product 兩欄),屬於「同名同結構」的資料表,最適合以集合運算(set operation)處理,並須注意各 DBMS 對集合運算的支援差異。
  • 二、第一小題(保留重複、遞增排序):SELECT Product AS Item FROM CompanyA UNION ALL SELECT Product FROM CompanyB ORDER BY Item ASC; 關鍵在於 UNION ALL 不做重複資料刪除(duplicate elimination),故 Mouse、NB、PC、Tablet 各出現兩次,共 13 筆。若誤寫成 UNION(不帶 ALL),系統會自動去除重複並隱含排序,只會得到 9 筆,不符合題意。
  • 三、第二小題(交集、遞減排序):SELECT Product AS Item FROM CompanyA INTERSECT SELECT Product FROM CompanyB ORDER BY Item DESC; INTERSECT 預設會回傳去除重複後的共同品項,結果為 Tablet、PC、NB、Mouse 四筆,再以 DESC 由大到小排列。若資料庫不支援 INTERSECT(例如 MySQL 8.0.31 以前的版本),可改寫為 SELECT DISTINCT a.Product AS Item FROM CompanyA a INNER JOIN CompanyB b ON a.Product = b.Product ORDER BY Item DESC; 或改用 IN 搭配 DISTINCT。
  • 四、第三小題(差集、遞增排序):SELECT Product AS Item FROM CompanyB EXCEPT SELECT Product FROM CompanyA ORDER BY Item ASC; 差集具有方向性,是「B 減 A」,結果為 CPU、Router 兩筆。若系統不支援 EXCEPT,可改寫為 SELECT Product AS Item FROM CompanyB b WHERE NOT EXISTS (SELECT 1 FROM CompanyA a WHERE a.Product = b.Product) ORDER BY Item ASC;,或使用 LEFT JOIN CompanyA 並加上 WHERE a.Product IS NULL 的寫法。
  • 五、作答提醒:ORDER BY 只能出現在整個集合運算的最後,不可分別寫在各 SELECT 之後;輸出欄位別名以第一個 SELECT 的 AS Item 為準;排序結果受 collation 影響,預設多為不分大小寫;EXCEPT ALL 與 INTERSECT ALL 在多数商用 DBMS 並未支援,答題時宜註明所用資料庫版本與替代語法,以展現對 SQL 標準(SQL:1992 起納入 UNION/INTERSECT/EXCEPT)的完整理解。

AI 依官方試題文字產生的參考解答,非考選部公告答案,內容僅供備考參考。

官方資料