Q4.
SQL 語法包含:(A)SELECT、(B)GROUP BY、(C)WHERE、(D)HAVING、(E)ORDER BY、(F)FROM 等子句之正確順序為何?
網頁設計 · 乙級 · 應用軟體安裝及使用 · Q4
難易度分析
3 / 5
本題要求精確記憶 SQL 語法的標準組成順序。由於多個選項的子句排列極為相似,考生必須對各子句的邏輯先後順序有明確且精準的掌握,才能在相似的選項中排除錯誤組合。
正確答案:②AFCBDE
② AFCBDE:此為正確的 SQL 子句執行順序:SELECT 指定欄位 → FROM 指定資料表 → WHERE 篩選原始資料列 → GROUP BY 進行分組彙總 → HAVING 篩選分組結果 → ORDER BY 最終排序輸出。此順序符合 SQL 標準語法規範。
錯誤選項解析
- ① AFCEBD:此順序將 ORDER BY 置於 GROUP BY 之前,違反 SQL 語法規範。ORDER BY 必須在所有分組與篩選完成後才能執行排序操作。
- ③ AFDEBC:此順序將 HAVING 置於 GROUP BY 之前,邏輯錯誤。HAVING 是用來篩選已分組的資料,必須依賴 GROUP BY 先完成分組操作,且 WHERE 不可置於最後。
- ④ AFECBD:此順序將 ORDER BY 置於 WHERE 之前,違反 SQL 執行邏輯。必須先以 WHERE 篩選資料列,才能進行後續的分組與排序操作。
Learning Tip
"SQL 子句的書寫順序即為執行順序,常考陷阱在於混淆 WHERE 與 HAVING 的使用時機:WHERE 篩選「個別資料列」,HAVING 篩選「分組後的結果」。實務上若順序錯誤將直接引發語法錯誤,建議記憶口訣為「選表條分篩排」(SELECT-FROM-WHERE-GROUP BY-HAVING-ORDER BY)。"
學員答題分佈
①AFCEBD0%
②AFCBDE0%
③AFDEBC0%
④AFECBD0%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!
相似類型題目
資料表Emp 之欄位屬性定義:Empid INTEGER、Name CHAR(20)、Deptno INTEGER、Sal INTEGER;欲表列「部門代號20 及50 的員工平均薪資(Sal)在22,000 元(含)以上」之部門代號(Deptno),最能符合要求之SQL 語法為何?
某企業(Emp)有數十個部門(Dept_name),每個部門有數百人,吳總經理欲知道:「除了部門主管(Is_dept_manager)之外,平均薪資(Salary)在50,000 元(含)以上的部門有那些?」,最能符合上述要求之SQL 語法為何?
資料表Staff 之欄位屬性定義:Id INTEGER、Name CHAR(20)、Dept INTEGER、Job CHAR(20)、Years INTEGER、 Salary DECIMAL(10, 2)、Comm DECIMAL(10,2) ;欲表列「至少有一個員工的酬金(Comm)在5,000元以上」之部門編號及員工總數,最能符合要求之SQL 語法為何?
SQL 語法UPDATE 之正確寫法為何?
SQL 語法的敘述,何者正確?