JOINを用いたUPDATEの覚書
JOINを使用したUPDATEの作成にたまに迷うのだけど、
SELECT分を先に作成して置き換えれば比較的簡単
SELECT * FROM テーブルA LEFT JOIN テーブルB ON テーブルA.id = テーブルB.a_id WHERE テーブルB.employee = 'greenwich'
とあった場合
UPDATE // SELECT * FROM を置き換え テーブルA LEFT JOIN テーブルB ON テーブルA.id = テーブルB.a_id SET テーブルA.salary= 10000000 // SET句を追加 WHERE テーブルB.employee = 'greenwich'
「SELECT * FROM」の部分を「UPDATE」に置き換えて
「SET ほにゃらら = ほにゃらら」をWHERE句の前に入れれば完成
先に作成したSELECTを実行すればUPDATEデータも確認できる
ちなみに上のコードはグリニッジの社員の給与を1000万に変更という感じ
UPDATE テーブルA LEFT JOIN テーブルB ON テーブルA.id = テーブルB.a_id LEFT JOIN テーブルC ON テーブルA.id = テーブルC.a_id SET テーブルA.salary= 10000000 WHERE テーブルB.employee = 'greenwich'
JOINが何個増えてもやり方は同じ