令和4年度 秋期 データベーススペシャリスト試験 午前II 問6
2025年6月30日
“文書"表、"社員"表から結果を得るSQL文の a に入れる字句はどれか。
【解説】
この問題では、2つのテーブルを結合して、作成者IDと承認者IDに対応する氏名を取得するSQL文を完成させる必要があります。
テーブルの関係:
- 「文書」表の作成者IDと「社員」表の社員IDが一致するデータを結合する必要があります。
- 同様に、「文書」表の承認者IDと「社員」表の社員IDが一致するデータを結合します。
- 「文書」表の作成者IDまたは承認者IDに対応するデータがない場合でも、「文書」表のすべての行が結果に含まれる必要があります。
選択肢の検討:
ア: 文書 LEFT OUTER JOIN 社員 A ON 文書.作成者ID = A.社員ID LEFT OUTER JOIN 社員 B ON 文書.承認者ID = B.社員ID
正しい。LEFT OUTER JOINを使用することで、「文書」表のすべての行が結果に含まれ、作成者IDまたは承認者IDに対応するデータがない場合でもNULLとして扱われます。これにより、指定された結果が得られます。
イ: 文書 RIGHT OUTER JOIN 社員 A ON 文書.作成者ID = A.社員ID RIGHT OUTER JOIN 社員 B ON 文書.承認者ID = B.社員ID
誤り。RIGHT OUTER JOINは「社員」表を基準に結合するため、「文書」表のすべての行が含まれることを保証しません。
ウ: 文書, 社員 A, 社員 B LEFT OUTER JOIN 社員 A ON 文書.作成者ID = A.社員ID LEFT OUTER JOIN 社員 B ON 文書.承認者ID = B.社員ID
誤り。記述が冗長であり、正しいSQL文の構文とは異なります。
エ: 文書, 社員 A, 社員 B WHERE 文書.作成者ID = A.社員ID AND 文書.承認者ID = B.社員ID
誤り。WHERE句を使用しているため、「文書」表のすべての行が含まれることを保証できず、LEFT OUTER JOINの代替にはなりません。
ア: 文書 LEFT OUTER JOIN 社員 A ON 文書.作成者ID = A.社員ID LEFT OUTER JOIN 社員 B ON 文書.承認者ID = B.社員ID
問題の誤植や解答・解説の間違いなどありましたらトップページのお問い合わせよりご連絡いただけると幸いです。
お問い合わせ
✅ サクトレモバイルアプリを使うともっと便利に!
- 正誤を自動で記録
- 広告なしで快適に学習
- 続きから再開、進捗確認が可能
▶️ iOSアプリ版はこちら
▶️ Androidアプリ版はこちら
Posted by chico2740