集合演算(UNION・INTERSECT・EXCEPT)とは?
集合演算(UNION・INTERSECT・EXCEPT)とは、2つの問合せ結果を集合として合成する演算。和がUNION、積(共通部分)がINTERSECT、差がEXCEPT(製品によりMINUS)である。列数と対応する列のデータ型が一致していることが前提。FEでは結合との違いと、重複行の扱いが問われる。
基本情報技術者試験の過去問では1回出題されています。
しゅうごうえんざん
集合演算(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)が出た過去問
集合A,B,Cを使った等式のうち,集合A,B,Cの内容によらず常に成立する等式はどれか。ここで,∪は和集合,∩は積集合を示す。
正解:(A∩C)∪(B∩C) = (A∪B)∩C
要点:∩は∪に分配できる:(A∪B)∩C=(A∩C)∪(B∩C)
集合演算には「∩は∪に対して分配できる」という分配法則があり、(A∪B)∩C は (A∩C)∪(B∩C) に等しくなります。これは要素xがCに属し、かつAまたはBに属する、という条件を書き換えただけなので、A・B・Cの中身に関係なく常に成立します。他の等式は、たとえばA={1}、B={}、C={1}のような具体例を1つ当てはめるだけで両辺が食い違い、反例が作れます。
出典:平成29年度 春期 基本情報技術者試験 午前 問1(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。