高考申論題
112年
[統計] 資料處理
第 一 題
📖 題組:
一、在資料庫中,建有資料表「CompanyA」與「CompanyB」,其分別為A與B兩家電腦公司本身販賣的產品,內容如下表所示,表格有兩個欄位,欄位分別代表ID與產品品項名稱。請回答下列問題: CompanyA ID Product 2 PC 3 Monitor 5 GPU 6 NB 8 Tablet 10 Keyboard 11 Mouse CompanyB ID Product 1 CPU 2 Tablet 3 NB 4 Router 5 PC 6 Mouse
一、在資料庫中,建有資料表「CompanyA」與「CompanyB」,其分別為A與B兩家電腦公司本身販賣的產品,內容如下表所示,表格有兩個欄位,欄位分別代表ID與產品品項名稱。請回答下列問題: CompanyA ID Product 2 PC 3 Monitor 5 GPU 6 NB 8 Tablet 10 Keyboard 11 Mouse CompanyB ID Product 1 CPU 2 Tablet 3 NB 4 Router 5 PC 6 Mouse
📝 此題為申論題,共 3 小題
小題 (一)
寫一個SQL指令查詢上述兩家公司販售的所有產品品項,重複的品項不要刪除,且產品品項名稱按字母順序排序,查詢結果如下表所示。(10分)
| Item |
|---|
| CPU |
| GPU |
| Keyboard |
| Monitor |
| Mouse |
| Mouse |
| NB |
| NB |
| PC |
| PC |
| Router |
| Tablet |
| Tablet |
| Item |
|---|
| CPU |
| GPU |
| Keyboard |
| Monitor |
| Mouse |
| Mouse |
| NB |
| NB |
| PC |
| PC |
| Router |
| Tablet |
| Tablet |
思路引導 VIP
看到本題,首先要辨識出這是關聯式資料庫的集合運算考點。題目要求「所有產品品項」且「重複品項不要刪除」,這明顯對應到 SQL 中的 UNION ALL 運算子。接著要求「產品品項名稱按字母順序排序」,因此需要加上 ORDER BY 子句並指定 ASC(升冪排序)。此題為基礎送分題,需確保欄位名稱正確標示為 Item。
小題 (二)
寫一個SQL指令查詢上述兩家公司販賣的相同產品品項,且產品品項名稱按字母順序反項排序,查詢結果如下表所示。(15分)
| Item |
|---|
| Tablet |
| PC |
| NB |
| Mouse |
| Item |
|---|
| Tablet |
| PC |
| NB |
| Mouse |
思路引導 VIP
本題要求找出「兩家公司販賣的相同產品品項」,這對應到集合運算中的「交集(Intersection)」,可使用 INTERSECT 運算子,或使用 INNER JOIN 來達成。排序部分要求「按字母順序反項排序」,因此 ORDER BY 需搭配 DESC(降冪排序)。
小題 (三)
寫一個SQL指令查詢CompanyB公司有販售但CompanyA公司沒有販售的產品品項名稱,查詢結果如下表所示。(15分)
| Item |
|---|
| CPU |
| Router |
| Item |
|---|
| CPU |
| Router |
思路引導 VIP
此題要求找出「B有但A沒有」的資料,對應集合運算中的「差集(Difference)」。在 SQL 中有三種常見寫法:EXCEPT(或 MINUS,依資料庫而定)、NOT IN 子查詢、或是 LEFT JOIN 搭配 IS NULL。選擇一種最符合標準 SQL 且不易出錯的寫法即可。