民國102年 第3梯次 電腦軟體應用乙級 學科
第8題
針對結構化查詢語言( S Q L ) 陳述式「S E L E C T * F R O M A L E F T O U T E R J O I N B O N A…
題目
針對結構化查詢語言( S Q L ) 陳述式「S E L E C T * F R O M A L E F T O U T E R J O I N B O N A . p k = B . p k 」的查詢結果,下列敘述何者正確?
- (1) 查詢結果的欄位數目與A 資料表( T a b l e ) 相同
- (2) 查詢結果的資料筆數等於A 資料表( T a b l e ) 的資料筆數與B 資料表的資料筆數兩者之和
- (3) A 資料表( T a b l e ) 的每一筆資料在查詢結果中,最少會出現一次
- (4) 查詢結果的資料筆數等於A 資料表 ( T a b l e ) 的資料筆數與B 資料表的資料筆數兩者之積
官方答案
(3) A 資料表( T a b l e ) 的每一筆資料在查詢結果中,最少會出現一次
解析
LEFT OUTER JOIN 以左方資料表 A 為主,A 的每一筆資料在結果中至少出現一次;若 B 表沒有符合 A.pk=B.pk 的資料列,B 的欄位會以 NULL 補齊,因此結果筆數可能等於 A 的筆數,也可能因一對多而大於 A 的筆數。由於使用 SELECT *,結果欄位是 A 與 B 兩表所有欄位的聯集,會比 A 單表多。結果筆數既不是兩表筆數相加,也不是相乘。故選3。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。