データベーススペシャリスト暗記無料で始める

UNION / INTERSECT / EXCEPTとは?ユニオン・インターセクト・エクセプト

UNION / INTERSECT / EXCEPTとは、2つの問合せ結果を集合として和・共通・差にまとめる演算子。既定では結果から重複行が取り除かれ、ALLを付けると重複が残る。両側の列数が同じで、対応する列のデータ型が比較可能であることが前提で、結果の列名は左側の問合せのものが使われる。

最終更新:2026-10-06

試験情報

データベーススペシャリスト試験の過去問では4回出題され、ほかに1問の解説で触れられています(2016年度〜2025年度)。

データベーススペシャリスト試験の頻出用語/午前II

別名:和・共通・差の集合演算、UNION、INTERSECT、EXCEPT

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

背景

関係モデルの土台が集合論であり、和・差・直積は関係代数の基本演算として最初から備わっている。一方でSQLの表は重複行を許すバッグ(多重集合)なので、集合演算だけが既定で重複を除くという食い違いが残った。ALLの有無で結果も実行計画も変わるため、この折り合いの部分がそのまま出題点になっている。

具体例

部品構成表で、子部品コードの集合から親部品コードの集合をEXCEPTで引くと、下位を持たない末端部品が求まる。同じ演算をOracle DatabaseではMINUSと綴る。会員表と休会会員表の共通部分を取るならINTERSECTを使う。

試験での引っ掛け

差は向きがある(A EXCEPT BとB EXCEPT Aは別物)のに対し、和と共通は向きが無い。UNIONは重複除去のために整列やハッシュが走るので、重複が起きないと分かっている場合はUNION ALLのほうが速い(結果が同じでもコストは違う)。結合が列を横に増やすのに対し、集合演算は行を縦に足すという向きの違いも取り違えやすい。

関連用語

出た過去問

問題文で直接問われたものと、解説の中で触れられたものが含まれます。

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

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

試験での特徴
  • 試験では4回出題(2016年度〜2025年度)
  • 分野:午前II
  • 差は向きがある(A EXCEPT BとB EXCEPT Aは別物)のに対し、和と共通は向きが無い。