MySQLで複数のテーブルからデータを結合する方法
MySQLデータベースでは、複数のテーブルからデータを結合することがよくあります。これは、データを関連付けたり、関連する情報を1つのクエリで取得するために役立ちます。以下に、異なるテーブルからデータを結合するためのいくつかの例を示します。
INNER JOINを使用した基本的な結合
SELECT orders.order_id, customers.customer_name
FROM orders
INNER JOIN customers ON orders.customer_id = customers.customer_id;
このクエリでは、orders
テーブルとcustomers
テーブルをcustomer_id
カラムで結合しています。INNER JOIN
は、結合条件に一致する行だけを返します。
LEFT JOINを使用した結合(NULL値の取り扱い)
SELECT customers.customer_name, orders.order_id
FROM customers
LEFT JOIN orders ON customers.customer_id = orders.customer_id;
LEFT JOIN
は、LEFT
テーブル(ここではcustomers
)の全ての行を返し、RIGHT
テーブル(ここではorders
)の対応する行がない場合はNULL値を表示します。
WHERE句を使用した結合条件の指定
SELECT employees.employee_name, departments.department_name
FROM employees
INNER JOIN departments ON employees.department_id = departments.department_id
WHERE employees.salary > 50000;
この例では、employees
テーブルとdepartments
テーブルをdepartment_id
で結合し、給与が50000以上の従業員のみを抽出しています。
これらの例を参考にして、異なるテーブルを結合する際に使える基本的なMySQLクエリを理解しましょう。