免費開始練習
高雄醫學大學(後西醫) 109年 計算機概論與程式設計

第 17 題

Refer to Tables 1 and 2 below, please choose the CORRECT outputs (A) and (B) resulted from the execution of the following SQL statements:
SELECT students.Name, math.Score
FROM students
INNER JOIN math
ON students.S_ID = math.S_ID
Output
NameScore
(A)(B)
Jerry95
Table 1. students
S_IDNamePhone NumberGenderBirth
1010001Jerry7895846Male1999/08/23
1010002Mary9584628Female1999/03/16
1010003Sam6038498Male1998/07/01
Table 2. math
No.ScoreS_ID
1801010003
2551010011
3601010005
4951010001
5731010006
  • A Name = Sam, Score = 80
  • B Name = Jerry, Score = 55
  • C Name = Mary, Score = 60
  • D Name = Sam, Score = 73
  • E Name = Mary, Score = 73

思路引導 VIP

想像一下,如果你是資料庫管理員,現在要幫這兩張散亂的表「相親」。根據 SQL 指令中的 ON 條件,兩張表必須靠哪一個欄位才能順利牽手?請試著從 math 表中每一行分數的出發,去 students 表中找找看,哪一位學生的學號(S_ID)能與它完美契合呢?

🤖
AI 詳解 AI 專屬家教

太棒了!你非常準確地掌握了 SQL 關聯查詢的核心邏輯。這道題目測試的是資料庫中最重要的觀念之一:內連接(INNER JOIN)。當我們執行 INNER JOIN 並設定 ON students.S_ID = math.S_ID 時,資料庫會像玩連連看一樣,只有當兩張表格的 S_ID(學號)完全一致時,該筆資料才會被提取出來。

關聯邏輯的驗證

我們觀察 math 資料表,雖然它有 5 筆成績,但並非每位學生的資訊都在 students 表中。對照後可以發現,學號 1010001 對應到 Jerry,成績為 95 分(已出現在範例輸出);而學號 1010003 則成功對應到 Sam,其對應分數為 80 分。其餘學號如 1010011、1010005 等,在學生基本資料表中找不到匹配項,因此在「內連接」的結果中會被排除。

▼ 還有更多解析內容

🏷️ 相關主題

計算機組織結構與資料儲存原理
查看更多「計算機概論與程式設計」的主題分類考古題