LONGEPASS
Q59.

關聯式資料表(Relational Table)Employee(EID,DNo,Salary) ,分別表示員工之員工編號、所屬部門編號、薪水,Dept(DNo,DName) ,分別表示部門之部門編號、名稱,假設要列出部門名稱為業務部的員工編號,若不用巢狀(Nested)結構查詢,則其WHERE 條件應包含下列那者才對?

電腦軟體設計共同科目 · 乙級 · Q59

難易度分析

2 / 5

本題考查 SQL 基礎語法中對於多個資料表欄位引用的格式要求。選項中設計了多種與標準 SQL 不同的符號組合,要求考生能精確區分正確的欄位引用標記與其他錯誤的語法形式。

正確答案:④Employee.DNo=Dept.DNo

④ Employee.DNo=Dept.DNo:點記號(Dot Notation) 是 SQL 標準中引用多資料表欄位的正確語法,格式為 `資料表名稱.欄位名稱`,在執行 JOIN 查詢時用於明確指定來自不同資料表的欄位進行關聯。

錯誤選項解析

  • ① Employee[DNo] =Dept[DNo]:方括號 [] 在關聯式代數中用於表示投影(Projection)運算,而非資料表欄位引用語法,此處使用方括號連接兩個欄位不符合 SQL 標準語法。
  • ② Employee[DNo] EQUAL Dept[DNo]:EQUAL 關鍵字並非 SQL 標準的比較運算子,SQL 中應使用等號 = 來進行欄位值的相等比較,此寫法會導致語法錯誤。
  • ③ Employee(DNo)=Dept(DNo):圓括號 () 在 SQL 中通常用於函數呼叫或子查詢,不能用來引用資料表的特定欄位,此語法無法正確表達跨資料表的欄位關聯。
Learning Tip

"本題核心考點為 SQL 多資料表查詢的欄位引用語法。在關聯式資料庫中,當 WHERE 條件需要比較兩個不同資料表的欄位時,必須使用 `資料表.欄位` 的點記號格式。常見陷阱是混淆關聯式代數符號(如 π、σ、⋈)與實際 SQL 語法,考生需注意方括號、圓括號或關鍵字 EQUAL 均非標準 SQL 的欄位引用方式。實務上建議搭配 別名(Alias) 簡化長資料表名稱,例如 `Employee e JOIN Dept d ON e.DNo = d.DNo`。"

學員答題分佈

①Employee[DNo] =Dept[DNo]0%
②Employee[DNo] EQUAL Dept[DNo]0%
③Employee(DNo)=Dept(DNo)0%
④Employee.DNo=Dept.DNo0%

此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!

相似類型題目