hce_kmu
111年
計算機概論與程式設計
第 12 題
Which one is the actual execution order of the following statements in SQL?
[1] SELECT [DISTINCT]
[2] FROM
[3] WHERE
[4] GROUP BY
[5] ORDER BY
[1] SELECT [DISTINCT]
[2] FROM
[3] WHERE
[4] GROUP BY
[5] ORDER BY
- A SELECT, WHERE, GROUP BY, FROM, ORDER BY
- B FROM, WHERE, GROUP BY, SELECT, ORDER BY
- C FROM, WHERE, ORDER BY, SELECT, GROUP BY
- D WHERE, FROM, ORDER BY, SELECT, GROUP BY
- E WHERE, FROM, GROUP BY, SELECT, ORDER BY
思路引導 VIP
想像你正在一間巨大的圖書館幫老師找書。如果老師要求你「從科學類書架上,找出書名包含『宇宙』的書,最後按出版年份排列」,在執行這些篩選與排序動作之前,你必須跨出的第一步是先找到「哪裡」?是先看書名,還是得先定位到那個特定的書架呢?
🤖
AI 詳解
AI 專屬家教
同學太棒了!你能精準選出 (B) 選項,代表你對 SQL 的邏輯處理順序(Logical Query Processing)有非常紮實的理解。這類題目最容易讓人混淆的地方在於,SQL 語句的「撰寫順序」與資料庫內部的「執行順序」並不相同,而你成功避開了直覺的陷阱。
SQL 邏輯執行的核心流程
在 SQL 執行時,資料庫引擎必須先確定資料的來源,因此 FROM 永遠是執行的起點。接著,系統會利用 WHERE 篩選出符合條件的原始資料,再透過 GROUP BY 進行分組與聚合運算。當資料篩選與分組完畢後,SELECT 才會被執行,用來挑選最終要呈現的欄位。最後,因為排序只需要針對已經產出的結果進行,所以 ORDER BY 會放在最後一步執行。
▼ 還有更多解析內容