JOIN
JOINは共通カラムを基準に複数テーブルのデータを結合します。 複数テーブルをつなぐ
基本文法
SELECT a.column_name, b.column_name
FROM table_a a
JOIN table_b b ON a.key_column = b.key_column;例題
社員名と部署名を一緒に取得
employees.department_idとdepartments.idを基準に結合します。
SELECT e.name, d.name AS department_name
FROM employees e
JOIN departments d ON e.department_id = d.id;注文の詳細を取得
3つのテーブルを順番にJOINできます。
SELECT e.name AS employee_name, p.name AS product_name, o.quantity
FROM orders o
JOIN employees e ON o.employee_id = e.id
JOIN products p ON o.product_id = p.id;知っておくと便利なこと
- INNER JOINは、両方のテーブルで結合条件を満たす行を返します。
- LEFT JOINは左側の行をすべて残し、対応する右側の行がない場合はNULLを返します。
- FROM employees eのように別名を付けると、カラムの所属が分かりやすくなります。
練習問題
- 社員名と部署名を一緒に表示 · 中級 · JOIN
- 注文金額の合計 · 中級 · JOIN
- 社員別の総注文金額 · 上級 · JOIN, GROUP BY, 集計関数