民國106年 第2梯次 電腦軟體設計(JAVA)乙級 學科
第6題
關聯式資料表(R e l a t i o n a l T a b l e )E m p l o y e e ( E I D , D N o , S a l a…
題目
關聯式資料表(R e l a t i o n a l T a b l e )E m p l o y e e ( E I D , D N o , S a l a r y ) ,分別表示員工之員工編 號、所屬部門編號、薪水,D e p t ( D N o , D N a m e ) ,分別表示部門之部門編號、名稱,假設 要列出部門名稱為業務部的員工編號,若不用巢狀( N e s t e d ) 結構查詢,則其W H E R E 條件 應包含下列那者才對?
- (1) E m p l o y e e [ D N o ] = D e p t [ D N o ]
- (2) E m p l o y e e [ D N o ] E Q U A L D e p t [ D N o ]
- (3) E m p l o y e e ( D N o ) = D e p t ( D N o )
- (4) E m p l o y e e . D N o = D e p t . D N o
官方答案
(4) E m p l o y e e . D N o = D e p t . D N o
解析
在關聯式資料庫中,若不使用巢狀查詢而要同時查詢 Employee 與 Dept 兩表,需以「相等連結(equi-join)」將兩表依共同欄位 DNo 結合。SQL 標準語法使用「資料表名稱.欄位名稱」的點記法(dot notation),即 Employee.DNo = Dept.DNo。選項1、3的方括號與圓括號並非 SQL 標準欄位引用方式;選項2的 EQUAL 亦非 SQL 保留字(應為 =)。故正確連結條件為選項4,再配合 AND Dept.DName='業務部' 即可列出目標員工編號。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。