HOME»データベーススペシャリスト令和4年秋期»午前Ⅱ 問9
データベーススペシャリスト令和4年秋期 午前Ⅱ 問9
問9
SQL文1とSQL文2を実行した結果が同一になるために,表Rが満たすべき必要十分な条件はどれか。
〔SQL文1〕
〔SQL文1〕
SELECT * FROM R UNION SELECT * FROM R
〔SQL文2〕SELECT * FROM R
- 値にNULLをもつ行は存在しない。
- 行数が0である。
- 重複する行は存在しない。
- 列数が1である。
分類
テクノロジ系 » データベース » データ操作
正解
ウ
解説
SQL文1の結果は関係Rと関係Rとの和集合となり、SQL文2の結果は関係Rそのものとなります。UNION句では、複数の結果の集合を得るという性質上、統合する際に重複している行を除外しますから、結果表が元の関係Rと同一になるためには、元の関係Rに重複する行が存在しないことが条件となります。
したがって「ウ」が正解です。
したがって「ウ」が正解です。
- 「NULLを持つ行が存在しない ⇒ 結果が同一」と「結果が同一 ⇒ 値にNULLを持つ行が存在しない」はともに成立しません。よって、十分条件でも必要条件でもありません。
- 「行数が0 ⇒ 結果は同一」は成立するので十分条件ですが、「結果が同一 ⇒ 行数は0」は成立しないので必要条件ではありません。
- 正しい。「重複する行が存在しない ⇒ 結果は同一」は成立するので十分条件、「結果が同一 ⇒ 重複する行が存在しない」も成立するので必要条件でもあります。
- 「列数が1 ⇒ 結果が同一」と「結果が同一 ⇒ 列数が1」はともに成立しません。よって、十分条件でも必要条件でもありません。