【MySQL】JOINを利用したUPDATE方法

MySQL

MySQLにおいて、JOINを使用したUPDATE文は、複数のテーブル間の関連を使って一つのテーブルを更新したい場合に使われます。UPDATE文にJOINを組み合わせることで、他のテーブルの値に基づいて特定のテーブルの列を更新することができます。

基本的な書き方は次の通りです。

UPDATE テーブルA AS a
JOIN テーブルB AS b ON a.共通カラム = b.共通カラム
SET a.更新するカラム = b.参照カラム
WHERE 条件;

具体例

例えば、employeesテーブルとdepartmentsテーブルがあり、employeesテーブルの従業員の部署IDをdepartmentsテーブルの情報に基づいて更新するとします。

  • employeesテーブル: employee_id, employee_name, department_id
  • departmentsテーブル: department_id, department_name

以下のように、従業員のdepartment_iddepartmentsテーブルのdepartment_nameが “Sales” の場合に更新することができます。

UPDATE employees AS e
JOIN departments AS d ON e.department_id = d.department_id
SET e.department_id = 3  -- 3は新しい部署ID
WHERE d.department_name = 'Sales';

注意点

  • JOINを使用する場合、ON句で2つのテーブルの関連を指定する必要があります。
  • WHERE句を使って、更新する行をフィルタリングできます。
  • 複数テーブルを結合して更新する際は、慎重に条件を指定しないと、誤って不要な行まで更新してしまう可能性があります。

このようにして、他のテーブルと結合しながら条件に基づいて更新を行うことができます。

著者プロフィール
この記事を書いた人
ロジャー

Webアプリ開発を20年近く経験し、管理職なった今も時々ソースをいじるメインは営業職の管理者。もうすぐ40代。最近は、AIを活用して少しでも仕事やプライベートを面白くしていきたいと考えているおっさんです。困った事もAIなら解決してくれるはず!?

ロジャーをフォローする
MySQLシステム開発
ロジャーをフォローする
タイトルとURLをコピーしました