集合演算
応用情報技術者 用語
和・差・共通は、同じ列構成の2つの関係(表)を行の集まりとして扱う集合演算です。和(UNION)はどちらかに含まれる行を重複を除いて集め、差(EXCEPT)は一方にだけある行を、共通(INTERSECT)は両方にある行を求めます。直積(CROSS JOIN)は列構成が違う表どうしでも取れ、2つの表の行のすべての組合せを作ります。SQLのUNIONは重複行を1行にまとめ、UNION ALLは重複行も残してすべての行をつなげます。射影は関係から指定した列だけを取り出す演算で、重複する行は除かれます(SQLではSELECT DISTINCTに当たります)。
取り違えやすい用語
- UNIONとUNION ALL(重複行を1つにまとめるか、重複行も残すか)
- 和と直積(行を縦に足し合わせるか、行のすべての組合せを作るか)
- UNIONとINTERSECT(どちらかに含まれる行を集めるか、両方に含まれる行だけを取り出すか)
試験での出方
- 関係Rと関係Sから関係Xを求める関係演算として、和を選ぶ(平成25年度 秋期 問30、平成30年度 春期 問27、令和3年度 秋期 問26)
- NOT INとUNIONを使ったSQL文と同じ結果になる関係代数式を選ぶ(平成25年度 秋期 問31)
- 2つの表をUNION ALLでつないだSQL文の実行結果を選ぶ(平成26年度 春期 問28、令和2年度 10月 問29)
- 関係の射影と同じ結果になるように、SELECTに付ける字句(DISTINCT)を選ぶ(平成29年度 秋期 問28)
- 期ごとの売上の列を行に並べ直す結果を得るSQL文として、UNIONを使うものを選ぶ(令和3年度 秋期 問29)
出題された回
全年度から出題。10問で実力を判定します。登録不要。
解説と用語ページは生成 AI が書き、別の生成 AI が確かめています。作り方