社員ブログ

JOINでUPDATE

2014年02月19日 水曜日

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が何個増えてもやり方は同じ

Trackback URL
文字サイズサイズ小サイズ中サイズ大