免費開始練習
hce_kmu 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:
```sql
SELECT students.Name, math.Score
FROM students
INNER JOIN math
ON students.S_ID = math.S_ID
```

Output
| Name | Score |
|---|---|
| (A) | (B) |
| Jerry | 95 |

Table 1. students
| S_ID | Name | Phone Number | Gender | Birth |
|---|---|---|---|---|
| 1010001 | Jerry | 7895846 | Male | 1999/08/23 |
| 1010002 | Mary | 9584628 | Female | 1999/03/16 |
| 1010003 | Sam | 6038498 | Male | 1998/07/01 |

Table 2. math
| No. | Score | S_ID |
|---|---|---|
| 1 | 80 | 1010003 |
| 2 | 55 | 1010011 |
| 3 | 60 | 1010005 |
| 4 | 95 | 1010001 |
| 5 | 73 | 1010006 |
  • 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 分。其餘學號如 10100111010005 等,在學生基本資料表中找不到匹配項,因此在「內連接」的結果中會被排除。

▼ 還有更多解析內容

🏷️ 相關主題

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