用語集に戻る
データベース中級

JOIN

じょいん

一言で言うと

複数のテーブルを関連づけて、1つの結果にまとめる操作。テーブル同士を「つなぎ合わせる」こと。

もう少し詳しく

一言で言うと

複数のテーブルを関連づけて、1つの結果にまとめる操作。テーブル同士を「つなぎ合わせる」こと。

もう少し詳しく

JOINは、別々のテーブルに分かれているデータを、共通のキー(ID番号など)を使って結合する操作です。

書類ファイルに例えると、「社員名簿」ファイルと「部署一覧」ファイルがあるとき、社員番号や部署コードをキーにして「どの社員がどの部署にいるか」を一覧にまとめるイメージです。

データベースでは、データの重複を避けるためにテーブルを分けて管理します(正規化)。たとえば「注文テーブル」には商品IDだけを保存し、商品の詳細情報は「商品テーブル」に保存します。これらを結合して「注文一覧に商品名も表示する」のがJOINの役割です。

実務でどう使うか

  • マーケティング: 「購入データ」と「顧客データ」を結合して「どの属性のユーザーが何を買っているか」を分析するときにJOINを使います

  • デザイン: 画面に表示するデータが複数テーブルにまたがるとき、JOINの負荷を考慮した情報設計が求められます

  • PM: 「この画面に商品名と注文者名を同時に表示したい」という要件は、JOINで実現します。テーブル間の関連を理解していると仕様の妥当性を判断できます
  • コードで見てみよう

    -- 注文テーブルと商品テーブルをJOINする
    SELECT
    orders.id AS order_id,
    customers.name AS customer_name,
    products.name AS product_name,
    orders.quantity,
    orders.order_date
    FROM orders
    JOIN customers ON orders.customer_id = customers.id
    JOIN products ON orders.product_id = products.id
    WHERE orders.order_date >= '2024-01-01'
    ORDER BY orders.order_date DESC;

    -- → 注文ID | 顧客名 | 商品名 | 数量 | 注文日
    -- が一覧で表示される

    関連する用語

    この用語を学べるコース

    この用語を実際に使ってみよう

    チョットデキルなら、5分のレッスンで実際にコードを書いて学べます。

    コース一覧を見る