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
データ:R
|
||||||||||||
データ:S
|
||||||||||||
R UNION S
|