中五ICT:關聯式資料庫與 SQL — 練習第四份(錯題重練,10 題) 2026-11-05 導師備課指引 · 中五ICT 中五ICT:關聯式資料庫與 SQL — 練習第四份(錯題重練,10 題) 第四份只做錯題:語句次序、文字值引號、LIKE 前後綴、聚合與 DISTINCT、索引與排序,十題附答案與一句解說。 快速答案 SQL 失分多數不在語法難,而在次序、引號與型別這三件小事。 01 本卷資料(做完才看答案) 項目 內容 題數 10 題 建議時間 25 分鐘 難度分佈 基礎 2 · 進階 2 · 挑戰 2 · 錯題重練 4 對應章節 所屬章節:中五ICT|關聯式資料庫與 SQL 適用年級 錯題重練 02 題目(10 題) 基礎一張資料表有 6 列資料、5 欄欄位,這張表共有幾多筆記錄與幾個欄位? 基礎學生表的 student_id 有一列重複、一列留空,這一欄可以做主鍵嗎? 進階SELECT name, score FROM students WHERE form = ‘S5’ ORDER BY score DESC; 檢索結果會怎樣排列? 進階一張表共 7 列,其中 2 列的 phone 是 NULL。COUNT(*) 與 COUNT(phone) 各得幾多? 挑戰orders 表有 5 張訂單,只涉及 3 個不同的 customer_id。與 customers 表做等值連接後有幾多列?COUNT(DISTINCT customer_id) 又是幾多? 挑戰一張有 10 000 列的未索引資料表要做等值查詢,最壞情況要逐列比較幾多次?建立索引後大約降到幾多次? 錯題重練SELECT * WHERE form = S5 FROM students; 這句在哪兩處出錯? 錯題重練表內原有 10 列,執行 DELETE FROM students WHERE form = ‘S1’; 刪走 3 列之後還剩下什麼? 錯題重練8 個姓名之中,3 個以 A 開頭,2 個以 A 結尾。LIKE ‘A%’ 與 LIKE ‘%A’ 各取出幾多個? 錯題重練分數以一串文字形式存放成 10、9、100 三個值。用文字排序與用數值排序,結果有何不同? 03 答案與一句解說 題號 答案 一句解說 1 6 筆記錄、5 個欄位;每一列是一筆記錄,每一欄是一個欄位(屬性)。 列數等於記錄數,欄數等於欄位數,兩者不可混淆。 2 不可以;主鍵必須唯一而且不可為空,重複值與空值都違反主鍵規則。 先檢查唯一與非空,再決定用哪一欄做主鍵。 3 只取中五學生,並按分數由高至低排列;DESC 是由大到小,省略時預設 ASC 由小到大。 WHERE 篩走不合條件的列,ORDER BY 只決定先後次序。 4 COUNT(*) 得 7,COUNT(phone) 得 5;COUNT 欄位時會略過 NULL 值。 想數總列數用 COUNT(*),數字段有多少個填了值用 COUNT(欄位)。 5 連接後仍是 5 列(每張訂單對應一位客戶),COUNT(DISTINCT customer_id) 是 3。 連接不會把重複的客戶合併成一列,要數不同客戶必須加 DISTINCT。 6 未索引最壞要比較 10 000 次;有平衡索引後約 14 次(2 的 14 次方是 16 384,已覆蓋 10 000 列)。 索引把逐列掃描變成每次減半的搜尋,列數愈大差距愈明顯。 7 次序錯:WHERE 要寫在 FROM 之後;S5 是文字值,必須寫成加單引號的 S5。 記住 SELECT、FROM、WHERE、ORDER BY 的固定次序,文字值一律加引號。 8 剩 7 列,資料表結構與欄位定義完全保留;只有 DROP TABLE 才會連表一齊刪。 DELETE 只刪資料列,DROP 刪整張表,兩者破壞程度差很遠。 9 LIKE ‘A%’ 取 3 個,LIKE ‘%A’ 取 2 個;% 代表任意長度的字串,位置決定前綴還是後綴。 百分號放前面就是找結尾,放後面才是找開頭。 10 文字排序得 10、100、9(逐個字元比較),數值排序得 9、10、100;欄位型別選錯就會排錯。 數值一定要用數值型別存放,否則排序與大小比較全部出錯。 04 做完之後怎樣跟進 對完答案,只重做錯的那幾題,並在錯題旁寫出錯在哪一步(公式、單位還是抄錯數)。 同一題隔兩日再做一次;兩次都對才可以移到下一份練習。 家長只需看答案欄與解說欄,不必逐題講解。 免費配對導師導師登記 → 本卷題目與答案由 TutorZone 團隊原創編寫,並非任何學校、出版社或考試局的試題;數值與答案均以程式核算。
中五ICT:關聯式資料庫與 SQL — 練習第四份(錯題重練,10 題) 2026-11-05 導師備課指引 · 中五ICT 中五ICT:關聯式資料庫與 SQL — 練習第四份(錯題重練,10 題) 第四份只做錯題:語句次序、文字值引號、LIKE 前後綴、聚合與 DISTINCT、索引與排序,十題附答案與一句解說。 快速答案 SQL 失分多數不在語法難,而在次序、引號與型別這三件小事。 01 本卷資料(做完才看答案) 項目 內容 題數 10 題 建議時間 25 分鐘 難度分佈 基礎 2 · 進階 2 · 挑戰 2 · 錯題重練 4 對應章節 所屬章節:中五ICT|關聯式資料庫與 SQL 適用年級 錯題重練 02 題目(10 題) 基礎一張資料表有 6 列資料、5 欄欄位,這張表共有幾多筆記錄與幾個欄位? 基礎學生表的 student_id 有一列重複、一列留空,這一欄可以做主鍵嗎? 進階SELECT name, score FROM students WHERE form = ‘S5’ ORDER BY score DESC; 檢索結果會怎樣排列? 進階一張表共 7 列,其中 2 列的 phone 是 NULL。COUNT(*) 與 COUNT(phone) 各得幾多? 挑戰orders 表有 5 張訂單,只涉及 3 個不同的 customer_id。與 customers 表做等值連接後有幾多列?COUNT(DISTINCT customer_id) 又是幾多? 挑戰一張有 10 000 列的未索引資料表要做等值查詢,最壞情況要逐列比較幾多次?建立索引後大約降到幾多次? 錯題重練SELECT * WHERE form = S5 FROM students; 這句在哪兩處出錯? 錯題重練表內原有 10 列,執行 DELETE FROM students WHERE form = ‘S1’; 刪走 3 列之後還剩下什麼? 錯題重練8 個姓名之中,3 個以 A 開頭,2 個以 A 結尾。LIKE ‘A%’ 與 LIKE ‘%A’ 各取出幾多個? 錯題重練分數以一串文字形式存放成 10、9、100 三個值。用文字排序與用數值排序,結果有何不同? 03 答案與一句解說 題號 答案 一句解說 1 6 筆記錄、5 個欄位;每一列是一筆記錄,每一欄是一個欄位(屬性)。 列數等於記錄數,欄數等於欄位數,兩者不可混淆。 2 不可以;主鍵必須唯一而且不可為空,重複值與空值都違反主鍵規則。 先檢查唯一與非空,再決定用哪一欄做主鍵。 3 只取中五學生,並按分數由高至低排列;DESC 是由大到小,省略時預設 ASC 由小到大。 WHERE 篩走不合條件的列,ORDER BY 只決定先後次序。 4 COUNT(*) 得 7,COUNT(phone) 得 5;COUNT 欄位時會略過 NULL 值。 想數總列數用 COUNT(*),數字段有多少個填了值用 COUNT(欄位)。 5 連接後仍是 5 列(每張訂單對應一位客戶),COUNT(DISTINCT customer_id) 是 3。 連接不會把重複的客戶合併成一列,要數不同客戶必須加 DISTINCT。 6 未索引最壞要比較 10 000 次;有平衡索引後約 14 次(2 的 14 次方是 16 384,已覆蓋 10 000 列)。 索引把逐列掃描變成每次減半的搜尋,列數愈大差距愈明顯。 7 次序錯:WHERE 要寫在 FROM 之後;S5 是文字值,必須寫成加單引號的 S5。 記住 SELECT、FROM、WHERE、ORDER BY 的固定次序,文字值一律加引號。 8 剩 7 列,資料表結構與欄位定義完全保留;只有 DROP TABLE 才會連表一齊刪。 DELETE 只刪資料列,DROP 刪整張表,兩者破壞程度差很遠。 9 LIKE ‘A%’ 取 3 個,LIKE ‘%A’ 取 2 個;% 代表任意長度的字串,位置決定前綴還是後綴。 百分號放前面就是找結尾,放後面才是找開頭。 10 文字排序得 10、100、9(逐個字元比較),數值排序得 9、10、100;欄位型別選錯就會排錯。 數值一定要用數值型別存放,否則排序與大小比較全部出錯。 04 做完之後怎樣跟進 對完答案,只重做錯的那幾題,並在錯題旁寫出錯在哪一步(公式、單位還是抄錯數)。 同一題隔兩日再做一次;兩次都對才可以移到下一份練習。 家長只需看答案欄與解說欄,不必逐題講解。 免費配對導師導師登記 → 本卷題目與答案由 TutorZone 團隊原創編寫,並非任何學校、出版社或考試局的試題;數值與答案均以程式核算。