ウカマル応用情報技術者ログイン

集合演算

応用情報技術者 用語

和・差・共通は、同じ列構成の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 が確かめています。作り方