AI資格ドリル
資格を選ぶ↓

DS検定 用語解説

UNIONとは

列構成が同じ複数のSQLの実行結果を、重複する行を取り除いて一つの結果へまとめる演算子。複数テーブルを列で組み合わせるJOINとは、結合の方向が異なる。

まず押さえる結論

UNIONは、DS検定の「第6章 データエンジニアリング基礎」で確認しておきたい用語です。定義だけでなく、どの場面で使う言葉か、何と混同しやすいか、問題文のどの表現で判断するかまで確認します。

情報源と編集区分

公式範囲を確認し、具体例・誤答例・判断手順は当サイトが編集。 一次情報確認日: 2026-07-12。

試験概要(公式)

試験での問われ方

01

定義の言い換え

用語そのものではなく、説明文の一部を言い換えて出されることがあります。

02

似た概念との比較

同じ章の用語と入れ替えた選択肢に注意します。対象、目的、使う場面を分けます。

03

具体例からの判断

問題文の事例が、定義のどの部分に対応しているかを先に確認します。

誤答しやすいポイント

×構造化データと非構造化データの判断基準を誤る。テキスト・音声・画像・動画のような雑多な形式か、テーブル形式で管理できるかで区別する。

×第一正規化から第三正規化までの段階を混同する。各段階でどの種類の重複・従属関係を解消するのかが異なる。

×内部結合・外部結合・自己結合の使い分けを誤る。条件に一致しない行を残すかどうかで結合方式が変わる。

関連する確認問題

第6章 データエンジニアリング基礎 / データ加工・共有

今年度と前年度について、同じ列構成で作成した二つのSQL実行結果を行方向にまとめ、重複する行は取り除きたい。使う演算子はどれか。

正解は「UNION」である。UNIONは、列構成が同じ複数のSQL実行結果を一つへまとめ、重複する行を取り除く演算子である。設問では今年度と前年度という二つの結果を行方向に積むためUNIONを選ぶ。内部結合と外部結合は結合条件を使って異なる表の列を組み合わせ、自己結合は同じ表を別名で結合する。列構成が同じ結果を縦にまとめるのか、キーが対応するレコードの列を横に組み合わせるのかを見分ける。年度ごとの結果に同一行が含まれる場合も、一つに整理したいという重複除去の条件がUNIONに対応する。

第6章 データエンジニアリング基礎 / データ加工・共有

1列の問い合わせAが1・2・2の3行、問い合わせBが2・3の2行を返す。A UNION BとA UNION ALL Bの結果行数の組み合わせはどれか。

正解は「UNION 3行、UNION ALL 5行」である。UNIONは二つの問い合わせ結果を行方向にまとめた後、重複行を除去する。AとBに現れる異なる値は1・2・3なので3行になる。一方、UNION ALLは重複を除去せず、Aの3行とBの2行をすべて残すため3+2=5行になる。UNIONの重複除去はAとBの間だけでなく、各入力結果の内部にある重複にも及ぶため、A内で重なる2も1行へまとめられる。値の種類を数える処理と、入力行をそのまま足す処理を分けることが判断軸である。

第6章 データエンジニアリング基礎 / データ加工・共有

問い合わせAは「顧客ID・顧客名」の2列、問い合わせBは「注文ID」の1列を返す。この二つをそのままUNIONしようとしたときの判断として適切なものはどれか。

正解は「列数が違うため、そのままではUNIONできない」である。UNIONは二つの問い合わせ結果を行方向へまとめる集合演算なので、左右の問い合わせは同じ列数を返し、対応する列のデータ型にも互換性が必要になる。本問ではAが2列、Bが1列で対応付ける列数が一致しない。不足列が自動でNULLになる規則はなく、内部結合へ自動変換されたり、Aの2列が自動連結されたりもしない。UNIONを行うなら、例えばB側にも顧客名に対応する列を明示的に追加するなど、列数と対応関係をそろえた上で各列の型を確認する。重複除去の有無を検討するのは、その構造条件を満たした後である。

同じ章で確認したい用語

到達チェック

  • UNIONを一文で説明できる
  • 同じ章の似た用語と違いを説明できる
  • 問題文の具体例から、UNIONに関係する論点を拾える
  • 関連問題を解き、誤答した選択肢の理由を確認できる

執筆: ミナト編集部(運営者情報を見る)