過去問解きまくり研究所 ホーム

令和4年度 秋期 午前Ⅱ 問9

データ操作

UNIONに関する問題

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

〔SQL 文 1〕
SELECT * FROM R UNION SELECT * FROM R
〔SQL 文 2〕
SELECT * FROM R
答えと解説を見る

✓ これが正解ウ重複する行は存在しない。

解説

UNION は重複行を除くので、R に重複行が無いことが必要十分です。

UNION は、二つの問合せ結果を合わせたうえで重複する行を除きます。SQL 文1は表 R とそれ自身の UNION なので、結果は R から重複行を除いたものになります。SQL 文2は R をそのまま返すので、R に重複行があればその分だけ行数が多く、無ければ二つの結果は同じです。したがって、結果が同一になるための必要十分な条件は、R に重複する行が存在しないことです。条件が必要十分かどうかは、それが成り立てば必ず同じになり、成り立たなければ必ず違うかの両方を確かめます。UNION を使うと重複行が一つにまとまる、という一点が鍵です。

ほかの選択肢はなぜ違うのか

出典:令和4年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問9

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)