資格暗記無料で始める

SQLの集合演算(UNION・INTERSECT・EXCEPT)とは?

SQLの集合演算(UNION・INTERSECT・EXCEPT)とは、複数のSELECT文の実行結果を集合として組み合わせるSQLの演算。UNIONは和集合(両方の結果を重複なく統合、UNION ALLなら重複を許して統合)、INTERSECTは積集合(両方に共通する行)、EXCEPTは差集合(一方にあって他方にない行)を返す。

応用情報技術者試験の過去問では4回出題されています(2018年度〜2021年度)。

えすきゅーえるのしゅうごうえんざん

応用情報技術者試験の頻出用語/テクノロジ系/別名:SQLの集合演算、UNION・INTERSECT・EXCEPT、UNION、INTERSECT、EXCEPT


SQLの集合演算(UNION・INTERSECT・EXCEPT)の意味

複数のSELECT文の実行結果を集合として組み合わせるSQLの演算。UNIONは和集合(両方の結果を重複なく統合、UNION ALLなら重複を許して統合)、INTERSECTは積集合(両方に共通する行)、EXCEPTは差集合(一方にあって他方にない行)を返す。

SQLの集合演算(UNION・INTERSECT・EXCEPT)の具体例

「今月の購入者」と「先月の購入者」の両方のSELECT結果にINTERSECTを使えば、2か月連続で購入した顧客だけを抽出できる。

SQLの集合演算(UNION・INTERSECT・EXCEPT)は試験でどう引っ掛けられる?

UNIONは重複行を1行にまとめるが、UNION ALLはまとめない。「ALLが付くほうが処理が重い」と考えがちだが逆で、重複除去のためのソートが入るUNIONのほうが遅い。またEXCEPT(差集合)は左右を入れ替えると結果が変わる非可換な演算で、UNIONINTERSECTと同列に扱えない。集合演算は行方向の演算で、列を横につなぐ結合(JOIN)とは働く向きが違い、列数とデータ型が一致していないと実行できない。

SQLの集合演算(UNION・INTERSECT・EXCEPT)と関連する用語

SQLの集合演算(UNION・INTERSECT・EXCEPT)が出た過去問

最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。