民國102年 第1梯次 電腦軟體應用乙級 學科
第34題
針對結構化查詢語言( 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 ) 相同
- (3) 查詢結果的資料筆數等於A 資料表( T a b l e ) 的資料筆數與B 資料表的資料筆數兩者之積
- (4) 查詢結果的資料筆數等於A 資料表( T a b l e ) 的資料筆數與B 資料表的資料筆數兩者之和
官方答案
(1) A 資料表( T a b l e ) 的每一筆資料在查詢結果中,最少會出現一次
解析
LEFT OUTER JOIN 以左表 A 為主表,右表 B 符合 ON 條件者才帶出,不符合時 B 的各欄位以 NULL 補齊,因此 A 的每一筆資料在結果中至少出現一次,故選 1。查詢結果欄位數為 A 與 B 欄位數之和,並非與 A 相同,故 2 誤。結果筆數取決於 A 筆數及符合 join 的配對數,不會是兩表筆數之積(那是 CROSS JOIN 的笛卡兒乘積),也不會是兩者之和,故 3、4 皆誤。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。