基本情報暗記無料で始める

集合演算とは?しゅうごうえんざん

集合演算とは、2つの問合せ結果を行の集合とみなして合成するSQLの演算で、和がUNION、共通部分がINTERSECT、差がEXCEPT(製品によってはMINUS)にあたる。使うには両側の列数が同じで、対応する列のデータ型が揃っていることが前提になる。結合との違いと重複行の扱いが問われる。考え方は数学の和集合・積集合・差集合と同じで、集合どうしの等式やベン図の形で問われることもある。

最終更新:2026-10-09

試験情報

基本情報技術者試験の過去問では1問の解説で触れられています。

基本情報技術者試験の頻出用語/テクノロジ系

別名:集合演算(UNION・INTERSECT・EXCEPT)

この語が出る過去問を解く →

背景

関係データベースは表を集合として扱う理論の上に立っており、データ操作にも和・差・積という集合の演算がそのまま用意されている。条件を1本のWHERE句に押し込むと読みにくくなる場面でも、条件ごとに問合せを分けて最後に合成すれば意図が素直に表せる。列を横に足す関係演算の結合とは目的が別で、シラバスでも集合演算と関係演算は並べて挙げられている。

具体例

「今月出席した学生」UNION「先月出席した学生」なら、どちらかに出席した学生の一覧が得られる。同じ2つをINTERSECTでつなげば2か月とも出席した学生、EXCEPTでつなげば今月だけ出席した学生が返る。

試験での引っ掛け

UNIONは結果から重複行を自動的に取り除き、UNION ALLは取り除かない。行数を答えさせる問題はここで差が付く。また集合演算が合成するのは行方向であって、列を横に増やす結合とは働きが違うため、問題文が「縦につなぐ」のか「横に並べる」のかを読み分けたい。

関連用語

出た過去問

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 1問の解説で触れられる
  • 分野:テクノロジ系
  • UNIONは結果から重複行を自動的に取り除き、UNION ALLは取り除かない。