平成31年度 春期 データベーススペシャリスト試験 午前II 問11
2025年6月30日
【問題11】
“社員取得資格”表に対し、SQL文を実行して結果を得た。SQL文の a に入れる字句はどれか。
【解説】
このSQL文は、以下の条件を満たす結果を出力するように構築されています:
- LEFT OUTER JOINを使用しているため、C1の全ての行が結果に含まれる。
- 資格1としてC1.資格を表示し、その条件はC1.資格 = 'FE’。
- 資格2としてC2.資格を表示し、その条件はC2.資格 = 'AP’(ただし、該当がない場合はNULL)。
各選択肢の検討
ア
正しい。結合条件とフィルタ条件の両方を適切に設定しており、LEFT OUTER JOINの要件を満たします。
イ
誤り。WHERE C1.資格 IS NOT NULLが使用されているが、これはC1.資格 = 'FE’より条件が広く、問題の結果とは一致しません。
ウ
誤り。WHERE C2.資格 = 'AP’により、LEFT OUTER JOINの結果がINNER JOINと同じ扱いになり、該当しない資格がNULLで出力されるケースが排除されます。
エ
誤り。WHERE C1.資格 = 'FE’ AND C2.資格 = 'AP’により、INNER JOINのように動作してしまい、LEFT OUTER JOINの条件を満たしません。
出典:平成31年度 春期 データベーススペシャリスト試験 午前II 問11