集合演算とは?しゅうごうえんざん
集合演算とは、和・差・積(共通)・補・直積など、集合どうしに対する演算。関係データベースでは選択や射影などの関係演算と並ぶ基本操作にあたる。要素数を求める包除原理やベン図、論理演算のOR・AND・NOTと同じ構造を持ち、ド・モルガンの法則は集合の側でも成り立つ。
最終更新:2026-10-06
この語が出る過去問を解く →背景
条件が2つ3つと重なると、「AかつBでないもの」のような要求は言葉のままでは数えられず、重なりを二重に数える誤りが起きる。集合として書き直せば、重複部分を引くという機械的な手続き(包除原理)に落ちる。SQLの検索条件、探索の絞り込み、確率の計算がどれも同じ骨格で扱えるため、応用情報では基礎理論としてまとめて問われる。
具体例
100人のうちAを選んだ人が60人、Bが50人、両方が30人なら、少なくとも一方を選んだのは60+50−30=80人、どちらも選ばなかったのは20人になる。同じ操作をSQLではUNION(和)、INTERSECT(積)、EXCEPTまたはMINUS(差)で書け、PostgreSQLやOracle Databaseが実装している。
試験での引っ掛け
日常語の「AまたはB」は片方だけと読まれがちだが、集合や論理の和は両方を含む。差集合A−Bと、どちらか一方だけを表す対称差の取り違えも多い。補集合は全体集合を決めなければ定まらない。SQLではUNIONが重複を除去し、UNION ALLが残すという違いも合わせて問われる。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:令和3年度 秋期 応用情報技術者試験 午前 問26(IPA)解説で登場
関係Rと関係Sに対して、関係Xを求める関係演算はどれか。
正解:和
要点:同じ列構成の関係の行を重複なく合わせる演算が和
関係Xの内容は、関係Rの3行と関係Sの2行を合わせ、重複する行を1つにまとめたものになっている。これは集合演算の和(UNION)の結果である。和・差・積(共通)はいずれも和両立(同じ属性構成)である関係どうしに適用できる演算である。
出典:令和4年度 秋期 応用情報技術者試験 午前 問27(IPA)
“従業員”表に対して“異動”表による差集合演算を行った結果はどれか。従業員表・異動表・選択肢ア〜エはいずれも従業員ID・従業員名・所属の3列からなる表として与え…
正解:従業員ID A001(情報太郎,人事部), C003(試験桃子,人事部), C011(試験一郎,経理部) の3行。
要点:差集合は左の表から右の表と重なる行を除いた残り
差集合演算は、左側の表の行のうち右側の表に存在しない行だけを取り出します。従業員表の5行から、異動表にも現れる2行(A005とB010)を除くと、A001・C003・C011の3行が残ります。異動表にしかないD080は結果に含まれません。
出典:令和7年度 春期 応用情報技術者試験 午前 問28(IPA)解説で登場
和両立である関係RとSがある。R∩Sと等しいものはどれか。ここで,-は差演算,∩は共通演算を表す。
正解:R-(R-S)
要点:R-(R-S)は差演算だけで共通部分R∩Sを表す等式
R-Sは「Rにあり、Sにない部分」なので、これをRからさらに引くと「Rにあり、かつSにもある部分」だけが残る。すなわちR-(R-S)=R∩Sとなる。集合の差を2回使って共通部分を表す、集合演算の基本的な等式である。
出典・参考
公式シラバスの3 技術要素 > 3. データ操作 > (1) データベースの操作に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。