集合演算(UNION・INTERSECT・EXCEPT)とは?
集合演算(UNION・INTERSECT・EXCEPT)とは、2つの問合せ結果を集合として合成する演算。和がUNION、積(共通部分)がINTERSECT、差がEXCEPT(製品によりMINUS)である。列数と対応する列のデータ型が一致していることが前提。FEでは結合との違いと、重複行の扱いが問われる。
高度試験・午前I(全区分共通)の過去問では2回出題されています(2017年度〜2021年度)。
しゅうごうえんざん
集合演算(UNION・INTERSECT・EXCEPT)の意味
2つの問合せ結果を集合として合成する演算。和がUNION、積(共通部分)がINTERSECT、差がEXCEPT(製品によりMINUS)である。列数と対応する列のデータ型が一致していることが前提。FEでは結合との違いと、重複行の扱いが問われる。
集合演算(UNION・INTERSECT・EXCEPT)の具体例
「東京の顧客」と「大阪の顧客」をUNIONすれば両方を縦に連結した一覧になる。「今年の購入者」INTERSECT「昨年の購入者」なら2年連続の購入者、EXCEPTなら今年だけ購入した顧客が得られる。
集合演算(UNION・INTERSECT・EXCEPT)は試験でどう引っ掛けられる?
UNIONは重複行を自動的に取り除き、UNION ALLは取り除かない。行数を問う問題ではここで差が出る。また集合演算は結果を縦(行方向)に合成するもので、列を横に増やす結合とは目的が違う。
集合演算(UNION・INTERSECT・EXCEPT)と関連する用語
集合演算(UNION・INTERSECT・EXCEPT)が出た過去問
関係R(ID, A, B, C)のA, Cへの射影の結果とSQL文で求めた結果が同じになるように、aに入れるべき字句はどれか。ここで、関係Rを表Tで実現し、表T…
正解:DISTINCT
要点:関係の射影は重複を除く集合演算、SQLではDISTINCTが必要
関係モデルの射影は結果を集合として扱うため、重複する組は取り除かれる。表TのA、C列を取り出すと同じ組合せが重複して現れるので、SQLでは重複行を除くDISTINCTを指定しないと射影の結果と一致しない。SQLの既定はALLで重複をそのまま残す。
出典:平成29年度 秋期 高度共通_午前I試験 am1 問9(IPA)関係Rと関係Sに対して、関係Xを求める関係演算はどれか。
正解:和
要点:重複を除いて両関係の行を合わせる演算が和
Xの4行はRの3行とSの2行を重複を除いて集めたものになっている(0001,a,100はRとSに共通なので1行だけ現れる)。これは和集合を求める関係演算、すなわち和(UNION)である。和は両方の関係が同じ属性構成であることが前提となる。
出典:令和3年度 秋期 高度共通_午前I試験 am1 問8(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。