カテゴリ: 基本情報技術者試験 更新日: 2025/09/25

表の集合演算とは?初心者向けに解説|データベースの基本をしっかり理解

表の集合演算
表の集合演算

先生と生徒の会話形式で理解しよう

生徒

「先生、データベースの勉強をしていたら“表の集合演算”という言葉が出てきました。これはどういう意味なんですか?」

先生

「表の集合演算(ヒョウノシュウゴウエンザン)とは、複数の表を組み合わせたり、共通部分を取り出したり、差を求めたりする操作のことです。数学の集合と同じ考え方をデータベースに応用しているんですよ。」

生徒

「なるほど!つまり表を集合とみなして、和や交差を計算するイメージなんですね。」

先生

「その通りです。SQL(エスキューエル)では、UNION(ユニオン)、INTERSECT(インターセクト)、EXCEPT(エクセプト)といったキーワードで実現します。」

基本情報技術者試験をこれから学習する人や、 独学で確実に合格レベルまで到達したい人におすすめの定番対策書です。

いちばんやさしい 基本情報技術者を見る

※ Amazonアソシエイト広告リンク

1. 表の集合演算とは?

1. 表の集合演算とは?
1. 表の集合演算とは?

表の集合演算とは、2つ以上の表を使って新しい表を作る操作のことです。数学における集合の演算と考え方が同じで、共通部分や全体を扱います。データベースにおいては、SQLを用いて異なる表のデータをまとめたり比較したりできます。

2. UNION(ユニオン)|和集合

2. UNION(ユニオン)|和集合
2. UNION(ユニオン)|和集合

UNION(ユニオン)は、2つの表を結合して、すべての行をまとめて表示する集合演算です。重複行は自動的に取り除かれます。

SELECT 名前 FROM 社員
UNION
SELECT 名前 FROM 顧客;

この例では、社員と顧客の両方の「名前」を1つの結果として表示します。重複するデータは1回だけ出力されます。

3. UNION ALL(ユニオンオール)|重複を含めた和集合

3. UNION ALL(ユニオンオール)|重複を含めた和集合
3. UNION ALL(ユニオンオール)|重複を含めた和集合

UNION ALLはUNIONと違い、重複をそのまま残して結合します。集計や件数を正確に知りたい場合に役立ちます。

SELECT 名前 FROM 社員
UNION ALL
SELECT 名前 FROM 顧客;

4. INTERSECT(インターセクト)|積集合

4. INTERSECT(インターセクト)|積集合
4. INTERSECT(インターセクト)|積集合

INTERSECTは、2つの表に共通して含まれるデータだけを抽出します。

SELECT 名前 FROM 社員
INTERSECT
SELECT 名前 FROM 顧客;

この場合、社員であり顧客でもある人の名前だけが表示されます。

5. EXCEPT(エクセプト)|差集合

5. EXCEPT(エクセプト)|差集合
5. EXCEPT(エクセプト)|差集合

EXCEPTは、片方の表にはあるが、もう片方には存在しないデータを抽出します。

SELECT 名前 FROM 社員
EXCEPT
SELECT 名前 FROM 顧客;

このSQLでは「社員に登録されているが顧客にはいない人」の名前が表示されます。

6. 表の集合演算の注意点

6. 表の集合演算の注意点
6. 表の集合演算の注意点

表の集合演算を行うには、結合する表の列数や列のデータ型が一致している必要があります。例えば「名前」と「部署」を選択している表と、「売上金額」と「商品名」を選択している表をUNIONすることはできません。同じ形のデータを扱うことが大前提です。

7. 集合演算と実務での利用シーン

7. 集合演算と実務での利用シーン
7. 集合演算と実務での利用シーン

表の集合演算は実務で幅広く使われます。

  • 社員とアルバイトの名簿をまとめて一覧化する(UNION)。
  • 顧客と会員リストの両方に載っている人を探す(INTERSECT)。
  • 退職者リストから現役社員を除外する(EXCEPT)。

このように、集合演算は日常的なデータ管理や業務システムの構築で役立ちます。

8. 表の集合演算の歴史的背景

8. 表の集合演算の歴史的背景
8. 表の集合演算の歴史的背景

集合演算の考え方は、1970年代に登場した関係モデル(カンケイモデル)に基づいています。エドガー・F・コッド(エドガーエフコッド)が提唱した理論では、データは数学的な集合として扱えるとされました。その結果、UNIONやINTERSECTといった集合演算がSQLに取り入れられ、現代のデータベースに欠かせない機能として定着しました。

カテゴリの一覧へ
新着記事
New1
基本情報技術者試験
基数とは?初心者向けにわかりやすく解説【2進数・10進数・16進数の違いも理解】
更新記事
New2
情報セキュリティマネジメント試験
平文とは?暗号化されていないデータの意味を初心者向けにやさしく解説
更新記事
New3
情報セキュリティマネジメント試験
復号とは?初心者向けにやさしく解説|暗号との違いや使い方・解読との違いも理解しよう
更新記事
New4
基本情報技術者試験
RAID1とは何か?補助記憶装置でデータを安全に守る仕組みを初心者向けに解説
新規投稿
人気記事
No.1
Java&Spring記事人気No1
基本情報技術者試験
イーサネット(Ethernet)とは?初心者にもわかるLANの基本技術をやさしく解説
No.2
Java&Spring記事人気No2
基本情報技術者試験
NIC
220
NICとは何か?初心者にもわかるネットワークインターフェースカードの基本
No.3
Java&Spring記事人気No3
基本情報技術者試験
セグメントとは?ネットワークの基本単位を初心者向けにやさしく解説
No.4
Java&Spring記事人気No4
基本情報技術者試験
CPU
115
CPUとは何かを完全解説!初心者でもわかるコンピュータの頭脳の仕組み
No.5
Java&Spring記事人気No5
基本情報技術者試験
パケットとは?初心者にもわかりやすくネットワークの仕組みをやさしく解説!
No.6
Java&Spring記事人気No6
基本情報技術者試験
IMAPとは?初心者でもわかるメール受信プロトコルの仕組みと使い方
No.7
Java&Spring記事人気No7
基本情報技術者試験
IPv4とは?初心者でもわかるIPアドレスの基本と通信のルール
No.8
Java&Spring記事人気No8
基本情報技術者試験
Telnetとは?初心者にもわかる仕組みと使い方をやさしく解説!