高考申論題
111年
[資訊處理] 資料庫應用
第 一 題
📖 題組:
某一家高科技公司的關聯式資料庫包含員工、產品及研發三個表格。員工表格記錄員工基本資料,包含員工編號、員工姓名;產品表格記錄產品基本資料,包含產品編號、產品名稱、產品價格;研發表格記錄那些員工參與研發那些產品的資料。這三個表格的關聯綱要(Relational Schema)如下所示: 員工(員工編號、員工姓名) 產品(產品編號、產品名稱、產品價格) 研發(員工編號、產品編號) 加底線的屬性為該表格之主鍵;例如,研發表格之主鍵為員工編號與產品編號兩個屬性的組合。研發表格有員工編號與產品編號兩個外來鍵,分別參照員工表格的主鍵員工編號與產品表格的主鍵產品編號。 請針對下列三個查詢問題,各寫出一個 SQL 指令來進行查詢。(每小題 10 分,共 30 分)
某一家高科技公司的關聯式資料庫包含員工、產品及研發三個表格。員工表格記錄員工基本資料,包含員工編號、員工姓名;產品表格記錄產品基本資料,包含產品編號、產品名稱、產品價格;研發表格記錄那些員工參與研發那些產品的資料。這三個表格的關聯綱要(Relational Schema)如下所示: 員工(員工編號、員工姓名) 產品(產品編號、產品名稱、產品價格) 研發(員工編號、產品編號) 加底線的屬性為該表格之主鍵;例如,研發表格之主鍵為員工編號與產品編號兩個屬性的組合。研發表格有員工編號與產品編號兩個外來鍵,分別參照員工表格的主鍵員工編號與產品表格的主鍵產品編號。 請針對下列三個查詢問題,各寫出一個 SQL 指令來進行查詢。(每小題 10 分,共 30 分)
📝 此題為申論題,共 3 小題
小題 (一)
列出價格介於 10000 與 20000 之間(含 10000 與 20000)的每一種產品之產品編號與產品名稱。
思路引導 VIP
看到此題,應先辨識查詢目標所在的表格為「產品」。接著確定條件屬性為「產品價格」,且範圍是閉區間(包含邊界值)。SQL 語法上可選用 BETWEEN ... AND ... 或使用比較運算子 >= 與 <=。最後確認輸出欄位為「產品編號」與「產品名稱」。
小題 (二)
列出參與研發產品編號為‘P003’的產品的所有員工之姓名(姓名不要重複)。
思路引導 VIP
本題涉及兩個表格的關聯:「員工」與「研發」。首先,需要透過「員工編號」將這兩個表格進行連接(Join)。其次,過濾條件為產品編號等於 'P003'。最後,題目強調「姓名不要重複」,因此必須在 SELECT 子句中使用 DISTINCT 關鍵字。
小題 (三)
列出參與研發超過 5 種產品的員工之員工編號。
思路引導 VIP
當題目提到「超過...」且與計數(Count)有關時,應立即想到「分組(GROUP BY)」與「群組過濾(HAVING)」。目標表格是「研發」,因為它記錄了員工與產品的對應關係。應按「員工編號」分組,統計每組的產品數量,最後篩選數量大於 5 的組別。