“文書”表、“社員”表から結果を得るSQL文のaに入れる字句はどれか。
[SQL文]
SELECT 文書ID, 作成者ID, A.氏名 AS 作成者氏名
承認者ID, B.氏名 AS 承認者指名 FROM a
ア | 文書 LEFT OUTER JOIN 社員 A ON 文書.作成者ID = A.社員ID LEFT OUTER JOIN 社員 B ON 文書.承認者ID = B.社員ID |
イ | 文書 RIGHT OUTER JOIN 社員 A ON 文書.作成者ID = A.社員ID RIGHT OUTER JOIN 社員 B ON 文書.承認者ID = B.社員ID |
ウ | 文書 社員 A, 社員 B LEFT OUTER JOIN 社員 A ON 文書.作成者ID = A.社員ID LEFT OUTER JOIN 社員 B ON 文書.承認者ID = B.社員ID |
エ | 文書 社員 A, 社員 B WHERE 文書.作成者ID = A.社員ID AND 文書.承認者ID = B.社員ID |
答え ア
【解説】
結果から“文書”表の作成者IDと承認者IDの氏名を“社員”表から取り出して結合させているので、使用するのは外部結合の「OUTER JOIN」で、この2つの基準となるのは“文書”表になるので、SQL文としては
SELECT 文書ID, 作成者ID, A.氏名 AS 作成者氏名
承認者ID, B.氏名 AS 承認者指名 FROM
文書 LEFT OUTER JOIN 社員 A ON 文書.作成者ID = A.社員ID
LEFT OUTER JOIN 社員 B ON 文書.承認者ID = B.社員ID
(ア)になる。
【キーワード】
・外部結合