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 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!
相似類型題目
關聯式資料表(Relational Table)Employee(EID,DNo,Salary) ,分別表示員工之員工編號、所屬部門編號、薪水,Dept(DNo,DName) ,分別表示部門之部門編號、名稱,假設要列出部門名稱為業務部的員工編號,若用巢狀(Nested)結構查詢,則其外層(第一層)的WHERE 條件應如何寫才對?
關聯式資料表(Relational Table)Employee(EID,DNo,Salary) ,分別表示員工之員工編號、所屬部門編號、薪水,假設要列出不屬於任何部門的員工編號,則其WHERE 條件應如何寫才對?
在SQL 語法中,若查詢參考了兩個或多個同名的屬性,我們必須用關聯表名稱來修飾屬性名稱,做法是將關聯表名稱置於屬性名稱之前,並用那個符號加以區隔?
關聯式資料表(Relational Table)Employee(EID,DNo,Salary) ,分別表示員工之員工編號、所屬部門編號、薪水,假設要列出一些員工編號,其條件為其薪水大於部門編號為5 的所有員工薪水,若用巢狀(Nested)結構查詢,則其外層(第一層)的WHERE 條件應如何寫才對?
關聯式資料表(Relational Table)Employee(EID,DNo,Salary) ,分別表示員工之員工編號、所屬部門編號、薪水,假設要列出一些員工編號,其條件為其薪水小於任何一個部門編號為5 的員工薪水,若用巢狀(Nested)結構查詢,則其外層(第一層)的WHERE 條件應如何寫才對?