和集合・積集合・差集合とは?わしゅうごう・せきしゅうごう・さしゅうごう
和集合・積集合・差集合とは、2つの集合から新しい集合を作る、基本となる3種類の演算。和集合A∪Bはどちらかに属する要素、積集合A∩Bは両方に属する要素、差集合A−BはAに属しBに属さない要素を集める。SQLのUNION/INTERSECT/EXCEPTと、要素数を数える包除原理 |A∪B|=|A|+|B|−|A∩B| が出題の主戦場になる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
論理演算と集合演算は同じ構造を持つ。命題のOR・AND・NOTを「要素が属するか」で言い換えたものが和・積・差であり、ド・モルガンの法則が両方で同じ形になるのはこのためである。関係データベースの集合演算、検索条件の設計、確率の加法定理まで同じ枠組みで扱えるので、応用情報では計算問題の下敷きとして繰り返し現れる。
具体例
Javaを扱える技術者60人、Pythonを扱える技術者45人、両方扱える15人なら、どちらかを扱えるのは包除原理より60+45−15=90人。Javaだけの人は差集合で60−15=45人。SQLではUNIONとEXCEPTがこの2つにそのまま対応する。
試験での引っ掛け
差集合には向きがあり、A−BとB−Aは別物(和・積は交換できる)。SQLではUNIONが重複を除去し、UNION ALLは残す——件数を問う設問はここを突く。またINTERSECTやEXCEPTは両表の列数と型が一致していることが前提で、任意の2表に使えるわけではない。
関連用語
出た過去問
出典:令和4年度 秋期 応用情報技術者試験 午前 問27(IPA)
“従業員”表に対して“異動”表による差集合演算を行った結果はどれか。従業員表・異動表・選択肢ア〜エはいずれも従業員ID・従業員名・所属の3列からなる表として与え…
正解:従業員ID A001(情報太郎,人事部), C003(試験桃子,人事部), C011(試験一郎,経理部) の3行。
要点:差集合は左の表から右の表と重なる行を除いた残り
差集合演算は、左側の表の行のうち右側の表に存在しない行だけを取り出します。従業員表の5行から、異動表にも現れる2行(A005とB010)を除くと、A001・C003・C011の3行が残ります。異動表にしかないD080は結果に含まれません。
出典:令和4年度 春期 応用情報技術者試験 午前 問2(IPA)
全体集合S内に異なる部分集合AとBがあるとき、A(バー)∩B(バー)に等しいものはどれか。ここで、A∪BはAとBの和集合、A∩BはAとBの積集合、A(バー)はS…
正解:A(バー)-B
要点:ド・モルガンの法則で補集合の積は和集合の補集合になる
ド・モルガンの法則より、AバーとBバーの積集合は和集合A∪Bの補集合、つまりSからA∪Bを除いた領域である。これはSからAを除いた集合(=Aバー)からさらにBを取り除いたものに一致する。したがってAバー-Bが等しい。
出典・参考
公式シラバスの1 基礎理論 > 1. 離散数学 > (4) 集合と命題に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。