【SQL】UPDATEでJOINを使って更新する方法
このページでは、データを更新するSQLであるUPDATE文を使って、同時に複数の行、レコードを更新する方法を紹介しております。
UPDATE文のサンプルは↓で多数紹介していますので参考にしてください。
>>【SQL】UPDATE文の書き方:サンプル多数あり
UPDATE文の基本構文
UPDATE文の基本的な構文は次の通りです。
UPDATE テーブル名 SET 列名 = 値[,列名 = 値] [WHERE 条件];
JOINを使って更新する方法
JOINを使うことで、別の表とレコードを結合することで、
・更新する行の絞り込み
・別の表の値を使った更新
を実現することが出来ます。
次のサンプルでは、TAB1とTAB2テーブルのCOL1の値が一致するレコードだけを更新対象としています。さらに、TAB1テーブルのCOL2の値を、TAB2テーブルのCOL2の値で更新しています。
UPDATE
tab1 a
JOIN tab2 b ON a.col1 = b.col1
SET
a.col2 = b.col2;
INNER JOINは次のように書きます。
UPDATE
tab1 a
INNER JOIN tab2 b ON a.col1 = b.col1
SET
a.col2 = b.col2;
まとめ
UPDATE文で、JOINを使って更新する方法を紹介しました。
UPDATE文は、SET句の右辺やWHERE句に副問合せが書けるなど、非常に自由に記述できるのでぜひ活用してみてください。
この他にも、UPDATE文の様々な書き方を解説しております。
詳しくは「【SQL】UPDATE文の書き方:サンプル多数あり」で解説しているのでぜひ参考にしてください。