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

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

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

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

生徒

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

先生

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

生徒

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

先生

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

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
基本情報技術者試験
クライアントサーバシステムとは?初心者でもわかるネットワークの基本構成をやさしく解説
New2
基本情報技術者試験
分散処理とは?初心者でもわかるコンピュータの処理方式をやさしく解説
New3
情報セキュリティマネジメント試験
ブラックリストとは何かをやさしく解説!初心者でもわかる仕組みと活用例
New4
基本情報技術者試験
集中処理とは?初心者でもわかるコンピュータ処理方式の基本用語をやさしく解説
人気記事
No.1
Java&Spring記事人気No1
基本情報技術者試験
FTP
220
FTPとは?初心者でもわかるファイル転送プロトコルの基本と仕組みを徹底解説!
No.2
Java&Spring記事人気No2
基本情報技術者試験
NIC
212
NICとは何か?初心者にもわかるネットワークインターフェースカードの基本
No.3
Java&Spring記事人気No3
基本情報技術者試験
16進数とは?初心者にもわかる意味・読み方・変換方法をやさしく解説!
No.4
Java&Spring記事人気No4
基本情報技術者試験
URL
187
URLとは?初心者でもわかるWebリンクの仕組みと役割をやさしく解説!
No.5
Java&Spring記事人気No5
基本情報技術者試験
イーサネット(Ethernet)とは?初心者にもわかるLANの基本技術をやさしく解説
No.6
Java&Spring記事人気No6
基本情報技術者試験
セグメントとは?ネットワークの基本単位を初心者向けにやさしく解説
No.7
Java&Spring記事人気No7
基本情報技術者試験
スキーマ(Schema)とは?データベースの基本構造を初心者向けに解説
No.8
Java&Spring記事人気No8
基本情報技術者試験
ハブとは?初心者でもわかるネットワーク接続装置の基本と仕組み