令和4年度 秋期 データベーススペシャリスト試験 午前II 問9
2025年6月30日
【問題9】
SQL 文1とSQL 文2を実行した結果が同一になるために,表 R が満たすべき必要十分な条件はどれか。
〔SQL文1〕
SELECT * FROM R UNION SELECT * FROM R
〔SQL文2〕
SELECT * FROM R
【解説】
UNION と SELECT の違い
- UNION:
重複を自動的に排除する。
同じ行が複数回 SELECT されても、1回だけ結果に含まれる。
- SELECT:
重複を排除しない。
問題の条件
SQL文1(UNION)とSQL文2(単純な SELECT)の結果が同じになるためには、表 R に重複する行が存在しない必要があります。
選択肢の検討
ア: 値に NULL をもつ行は存在しない。
誤り。NULL の存在は結果に影響を与えません。
イ: 行数が 0 である。
誤り。行数が 0 の場合も結果は一致しますが、必要十分条件ではありません。
ウ: 重複する行は存在しない。
正しい。重複行がなければ、UNION の重複排除機能が働かず、結果が一致します。
エ: 列数が 1 である。
誤り。列数は結果の一致に影響を与えません。
出典:令和4年度 秋期 データベーススペシャリスト試験 午前II 問9