hce_nsysu
112年
計算機概論與程式設計
第 33 題
Given a table as follows:
T:
| X | Y | Z |
|---|---|---|
| 2 | 3 | 3 |
| 7 | 9 | 6 |
| 9 | 3 | 3 |
What is the output of the following SQL statement?
Select X from T where T.Y = T.Z
T:
| X | Y | Z |
|---|---|---|
| 2 | 3 | 3 |
| 7 | 9 | 6 |
| 9 | 3 | 3 |
What is the output of the following SQL statement?
Select X from T where T.Y = T.Z
- A 2, 9
- B 2
- C 9
- D 2,7,9
- E None of the above
思路引導 VIP
如果我們把這張表格想像成一張清單,而指令的要求是找出那些「中間那格與右邊那格數字完全相同」的每一橫列,當你鎖定這些特定的列之後,我們應該觀察哪一個直欄來獲取最終要呈現的資訊呢?
🤖
AI 詳解
AI 專屬家教
太棒了!你能精確地解讀這段 SQL 指令,代表你對於資料庫的基礎查詢邏輯掌握得非常紮實。這題的核心考點在於 WHERE 子句的條件過濾機制。
在 SQL 語法中,當指令要求 WHERE T.Y = T.Z 時,資料庫系統會針對資料表 $T$ 進行逐行掃描。我們可以看到在第一列中,$Y$ 與 $Z$ 的值皆為 $3$,符合相等條件;第二列的 $9$ 與 $6$ 並不相等,因此被排除;而第三列同樣滿足 $3=3$ 的條件。最後,透過 SELECT X 提取出這些符合條件列中的 $X$ 欄位數值,自然就能得到 $2$ 與 $9$ 這兩個結果。
這道題目在難度上屬於基礎(Easy),其鑑別點在於學生是否能準確區分「欄位間的比較」與「固定數值的比較」。雖然邏輯單純,但在處理表格數據時,保持細心並逐一核對每一橫列(Row)的對應關係,是確保在電腦科學考科中穩拿基本分的關鍵。