カテゴリ: 基本情報技術者試験 更新日: 2026/03/12

積(表の集合演算)をやさしく解説!SQLのINTERSECTを初心者向けに学ぶ

積(表の集合演算)
積(表の集合演算)

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

生徒

「先生、“積”という言葉が表の集合演算で出てきました。算数の掛け算と同じ意味ですか?」

先生

「いい質問ですね。積(セキ)は、算数の掛け算ではなく、集合の共通部分を表す操作です。SQL(エスキューエル)ではINTERSECT(インターセクト)という命令で使います。」

生徒

「共通部分というと、2つの表で同じデータだけを取り出すイメージですか?」

先生

「その通りです。例えば、社員表と顧客表に両方登録されている人の名前だけを抽出するときに積を使います。」

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

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

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

1. 積(セキ)とは?

1. 積(セキ)とは?
1. 積(セキ)とは?

積(セキ)は、表の集合演算(ヒョウノシュウゴウエンザン)のひとつで、2つの表の両方に存在する共通のデータだけを取り出す操作です。数学の集合論でいう“積集合(セキシュウゴウ)”にあたり、共通部分を求めるイメージです。

2. SQLのINTERSECT(インターセクト)の基本

2. SQLのINTERSECT(インターセクト)の基本
2. SQLのINTERSECT(インターセクト)の基本

SQLでは、積を求めるためにINTERSECTを使います。これは、2つのSELECT文の結果を比較し、両方に含まれる行だけを抽出する命令です。

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

この例では、社員表と顧客表の両方に登録されている人の名前だけが表示されます。

3. INTERSECTを使うときの注意点

3. INTERSECTを使うときの注意点
3. INTERSECTを使うときの注意点

INTERSECTを利用するときにはいくつかのルールがあります。

  • 比較するSELECT文の列数が同じである必要がある。
  • 列ごとのデータ型も一致していなければならない。
  • 列の順番も合わせておくことが重要。

例えば、社員表の「名前」と顧客表の「住所」をそのままINTERSECTで比べることはできません。どちらも同じ項目を選んで比較する必要があります。

4. 積の具体的な利用例

4. 積の具体的な利用例
4. 積の具体的な利用例

積を使うと便利な場面をいくつか紹介します。

  • 社員表と研修受講者表から、研修に参加した社員だけを抽出する。
  • 顧客表と注文表から、実際に注文をした顧客だけを取り出す。
  • 会員表とイベント参加表から、会員でかつ参加した人をリストアップする。

このように積を使えば、共通する対象だけを効率よく抽出することができます。

5. 積と数学の集合との関係

5. 積と数学の集合との関係
5. 積と数学の集合との関係

数学で学ぶ集合の積集合は「AとBの両方に含まれる要素」を意味します。データベースにおける積も同じで、表Aと表Bの共通する行だけを残して新しい表を作ります。これにより、無駄なく必要なデータだけを取り出すことができます。

6. 積の歴史的背景

6. 積の歴史的背景
6. 積の歴史的背景

積という考え方は、1970年代に提唱された関係データベース理論(カンケイデータベースリロン)に基づいています。この理論を提唱したエドガー・F・コッド(エドガーエフコッド)は、データを数学的な集合として扱うことを提案しました。その考えが今のSQLに反映され、INTERSECTという命令が使われるようになったのです。

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

SQLの集合演算における積(セキ)とは具体的にどのような意味を持つ操作なのですか?

リレーショナルデータベースにおける積(セキ)とは、複数の表から共通するデータ行のみを抽出する集合演算の基本的な操作の一つです。プログラミング初心者が混同しやすい点として、算数や数学の掛け算(乗算)がありますが、データベースの文脈では「掛け合わせる」のではなく「重なり合う部分を取り出す」という積集合(セキシュウゴウ)の概念を指します。具体的には、二つのテーブルに共通して存在するレコードを特定し、その重複するデータだけを結果として出力する仕組みを指しており、システム開発におけるデータの絞り込み作業などで非常に重要な役割を果たします。
カテゴリの一覧へ
新着記事
New1
情報セキュリティマネジメント試験
RATとは?リモートアクセス型ウイルスの仕組みと対策を初心者向けに解説
更新記事
New2
基本情報技術者試験
ビッグデータとは?初心者でもわかる大量データ活用の基本と活用事例
更新記事
New3
基本情報技術者試験
クライアントとは?初心者でもわかるコンピュータの基本用語をやさしく解説
更新記事
New4
基本情報技術者試験
16進数とは?初心者にもわかる意味・読み方・変換方法をやさしく解説!
更新記事
人気記事
No.1
Java&Spring記事人気No1
基本情報技術者試験
NIC
310
NICとは何か?初心者にもわかるネットワークインターフェースカードの基本
No.2
Java&Spring記事人気No2
基本情報技術者試験
セグメントとは?ネットワークの基本単位を初心者向けにやさしく解説
No.3
Java&Spring記事人気No3
基本情報技術者試験
16進数とは?初心者にもわかる意味・読み方・変換方法をやさしく解説!
No.4
Java&Spring記事人気No4
基本情報技術者試験
DHCP
232
DHCPとは?初心者でもわかるIPアドレス自動割り当ての仕組み
No.5
Java&Spring記事人気No5
基本情報技術者試験
SMTP
173
SMTPとは?初心者でもわかるメール送信の仕組みとプロトコルをやさしく解説!
No.6
Java&Spring記事人気No6
基本情報技術者試験
IMAP
160
IMAPとは?初心者でもわかるメール受信プロトコルの仕組みと使い方
No.7
Java&Spring記事人気No7
基本情報技術者試験
CPU
156
CPUとは何かを完全解説!初心者でもわかるコンピュータの頭脳の仕組み
No.8
Java&Spring記事人気No8
基本情報技術者試験
マイクロ(μ)とは?初心者にもわかる単位の意味と使い方をやさしく解説