2022年 秋期 データベーススペシャリスト 午前 問9

SQL文1とSQL文2を実行した結果が同一になるために表Rが満たすべき必要十分な条件はどれか。

[SQL文1]
 SELECT * FROM R UNION SELECT * FROM R
[SQL文2]
 SELECT * FROM R

 ア  値にNULLを持つ行は存在しない
 イ  行数が0である。
 ウ  重複する行は存在しない。
 エ  列数が1である。


答え ウ


解説
SQL文1の「UNION」は前後の表の和集合を求めて、結果に重複したあった場合には重複した内容を削除します。
SQL文2は表Rの全ての行を出力するものなので、SQL文1も表Rと表Rの和集合を求め重複部分を削除するので同じ結果になりますが、表Rに重複箇所があるとその部分が削除してしまい、表Rから重複箇所を削除した結果になってしまいます。
したがって、SQL文1とSQL文2で結果が同一となるための必要十分条件は表Rに重複する行は存在しない(ウ)です。


キーワード
・UNION

キーワードの解説
  • UNION(和)
    関係データにおける和とは、データの項目が一致している同士で行う演算処理で、2つのデータの和集合になる。
    データ:R
    A B C
    1 2 3
    4 5 6
    データ:S
    A B C
    7 8 9
    4 5 6
    R UNION S
    A B C
    7 8 9
    4 5 6
    1 2 3
    になる。

もっと、「UNION」について調べてみよう。

戻る 一覧へ 次へ