最終更新日:2026年8月16日
ds data-processing sql
DS検定トップ
> JOINとは?テーブル結合の基本を理解する【DS検定】
まず結論
JOINとは、複数のテーブルを共通のキーで結合してデータを取得するSQLの仕組みです。
DS検定では、
JOIN→ テーブルを結合するWHERE→ 行を条件で絞る
と切り分けることが重要です。
直感的な説明
例えば、次の2つのテーブルがあるとします。
顧客テーブル
| 顧客ID | 名前 |
|---|---|
| 1 | 田中 |
| 2 | 佐藤 |
注文テーブル
| 注文ID | 顧客ID | 商品 |
|---|---|---|
| 101 | 1 | ノートPC |
| 102 | 2 | スマートフォン |
「誰が何を買ったか」を知るには、顧客ID を使って2つのテーブルを結合します。
| 名前 | 商品 |
|---|---|
| 田中 | ノートPC |
| 佐藤 | スマートフォン |
これがJOINの基本イメージです。
定義・仕組み
JOINは、複数のテーブルを共通の列(キー)で結びつけるために使います。
基本形は次の通りです。
SELECT 列
FROM テーブルA
JOIN テーブルB
ON 結合条件;
例えば、顧客名と購入商品を取得するなら、
SELECT customers.name, orders.product
FROM customers
JOIN orders
ON customers.id = orders.customer_id;
とします。
このSQLでは、customers.id と orders.customer_id を対応づけています。
どんな場面で使う?
JOINは、情報が複数テーブルに分かれているときに使います。
- 売上分析:顧客テーブル + 注文テーブル
- 商品分析:商品テーブル + 注文テーブル
- 地域分析:顧客テーブル + 地域テーブル
データベースでは情報を分けて保存することが多いため、分析ではJOINが頻繁に登場します。
よくある誤解・混同
❌ JOIN と WHERE は同じ
| SQL | 役割 |
|---|---|
JOIN |
テーブルを結合する |
WHERE |
条件に合う行を絞る |
❌ JOINはデータを書き換える操作
JOINは、基本的にデータを取得するときにテーブルを組み合わせる操作です。
データを追加・更新する INSERT や UPDATE とは役割が違います。
❌ JOINは2テーブルまで
JOINは3つ以上のテーブルにも使えます。
FROM A
JOIN B ON ...
JOIN C ON ...
のように複数のテーブルを結合できます。
まとめ(試験直前用)
- JOIN = テーブル結合
- 共通キーを使って情報を組み合わせる
- WHERE = 条件抽出
- JOINはデータ変更そのものではない
DS検定では、「複数テーブルの情報を組み合わせる」ならJOINと判断しましょう。
対応スキル項目(ver.6 データエンジニアリング)
- 分類:ITエンジニアリング
- スキルカテゴリ:プログラミング
- サブカテゴリ:SQL
- 必須スキル:◯
- ★ SQLの構文を一通り知っていて、記述・実行できる(DML・DDLの理解、各種JOINの使い分け、集計関数とGROUP BY、CASE文を使用した縦横変換、副問合せやEXISTSの活用など)
- ver.6 ★1スキルチェックで確認する
🔗 関連記事
- バッチ処理とストリーム処理の違いとは?リアルタイム性で切り分ける【DS検定】
- データトランスフォーメーションとは?(非構造化データの変換)【DS検定】
- ビューとは?元の表との違い・SELECT権限・更新可能ビュー【基本情報技術者試験】
- Dockerとは?再現性が出る理由を整理【DS検定】
- ETLとは?(データ統合の基本プロセス)【DS検定リテラシー】