高考申論題
110年
[資訊處理] 程式語言
第 一 題
📖 題組:
三、建構股票交易資料庫(Stock),請寫出 SQL 指令。 客戶表格(Customer) [客戶編號 (cid): 整數、主鍵、自動增加] [客戶姓名 (cname): 少於 10 字元可變字串] [客戶帳戶餘額 (balance): 整數、非空值] [客戶融資餘額 (margin): 整數、非空值] 證券交易表格(StockTrade) [交易編號 (id): 整數、主鍵、自動增加] [證券編號 (sid): 整數、非空值] [證券每股購入價格 (price): 整數、非空值] [證券購入股數 (share): 整數、非空值] [客戶編號 (cid): 整數、非空值] (一)造出 Customer, StockTrade 表格。(10 分) CREATE TABLE Customer ( _____________________ ); CREATE TABLE StockTrade ( _____________________ ); (二)查詢客戶姓名是"Tom"所有購買股票編號與購入總股數。(5 分) (三)撰寫 Store Procedure,造出一個暫時的資料表 Report,含兩個整數資料欄位(證券編號 sid, 證券價格 price);加入 10 筆資料,再根據證券價格由小到大排序,查詢列出此 10 筆資料。(10 分) delimiter $$ CREATE PROCEDURE x() BEGIN DECLARE i INT DEFAULT 1; ____________________ END$$
三、建構股票交易資料庫(Stock),請寫出 SQL 指令。 客戶表格(Customer) [客戶編號 (cid): 整數、主鍵、自動增加] [客戶姓名 (cname): 少於 10 字元可變字串] [客戶帳戶餘額 (balance): 整數、非空值] [客戶融資餘額 (margin): 整數、非空值] 證券交易表格(StockTrade) [交易編號 (id): 整數、主鍵、自動增加] [證券編號 (sid): 整數、非空值] [證券每股購入價格 (price): 整數、非空值] [證券購入股數 (share): 整數、非空值] [客戶編號 (cid): 整數、非空值] (一)造出 Customer, StockTrade 表格。(10 分) CREATE TABLE Customer ( _____________________ ); CREATE TABLE StockTrade ( _____________________ ); (二)查詢客戶姓名是"Tom"所有購買股票編號與購入總股數。(5 分) (三)撰寫 Store Procedure,造出一個暫時的資料表 Report,含兩個整數資料欄位(證券編號 sid, 證券價格 price);加入 10 筆資料,再根據證券價格由小到大排序,查詢列出此 10 筆資料。(10 分) delimiter $$ CREATE PROCEDURE x() BEGIN DECLARE i INT DEFAULT 1; ____________________ END$$
📝 此題為申論題,共 3 小題
小題 (一)
造出 Customer, StockTrade 表格。(10 分)
CREATE TABLE Customer ( _____________________ );
CREATE TABLE StockTrade ( _____________________ );
思路引導 VIP
考驗 DDL 語法。重點在於正確定義資料型態(INT, VARCHAR)、約束(PRIMARY KEY, NOT NULL)以及自動增量(AUTO_INCREMENT)。別忘了外鍵關聯(FOREIGN KEY)。
小題 (二)
查詢客戶姓名是"Tom"所有購買股票編號與購入總股數。(5 分)
思路引導 VIP
需要關聯(JOIN)兩張表,並使用聚合函數 SUM() 搭配 GROUP BY。
小題 (三)
撰寫 Store Procedure,造出一個暫時的資料表 Report,含兩個整數資料欄位(證券編號 sid, 證券價格 price);加入 10 筆資料,再根據證券價格由小到大排序,查詢列出此 10 筆資料。(10 分)
delimiter $$
CREATE PROCEDURE x()
BEGIN
DECLARE i INT DEFAULT 1;
____________________
END$$
思路引導 VIP
考驗預存程序(Stored Procedure)邏輯。包含 CREATE TEMPORARY TABLE、循環(WHILE 迴圈)插入資料,以及最後的 SELECT ... ORDER BY。