SQL 更新結合 別のテーブルと結合条件を使用して 1 つのテーブルを更新するために使用できます。
構文 –
UPDATE tablename INNER JOIN tablename ON tablename.columnname = tablename.columnname SET tablenmae.columnnmae = tablenmae.columnname;>
JOIN ステートメントを使用した SQL UPDATE で複数のテーブルを使用します。
Geeks1 と Geeks2 という 2 つのテーブルがあると仮定します。表の内容を確認するには –
SELECT * FROM Geeks1;>
テーブル - オタク1
列1 | 列2 | 列3 |
---|---|---|
1 | 十一 | 初め |
十一 | 12 | 2番 |
21 | 13 | 三番目 |
31 | 14 | 第4 |
SELECT * FROM Geeks2;>
テーブル - オタク2
列1 | 列2 | 列3 |
---|---|---|
1 | 21 | ツーワン |
十一 | 22 | ツーツー |
21 | 23 | 2-3 |
31 | 24 | 2-4 |
例 -
Col 1 が 21 と 31 である 2 つの行を持つテーブル Geeks2 があり、Col 1 が 21 と 31 である行の値をテーブル Geeks2 からテーブル Geeks1 に更新したいと考えています。また、Col 2 の値も更新したいと考えています。および列 3 のみ。
UPDATE Geeks1 SET col2 = Geeks2.col2, col3 = Geeks2.col3 FROM Geeks1 INNER JOIN Geeks2 ON Geeks1.col1 = Geeks2.col1 WHERE Geeks1.col1 IN (21, 31);>
出力 –
(2 row(s) affected)>
SELECT * FROM Geeks1;>
テーブル - オタク1
列1 | 列2 | 列3 |
---|---|---|
1 | 十一 | 初め |
十一 | 12 | 2番 |
21 | 23 | 2-3 |
31 | 24 | 2-4 |
SELECT * FROM Geeks2;>
テーブル - オタク2
列1 | 列2 | 列3 |
---|---|---|
1 | 21 | ツーワン |
十一 | 22 | ツーツー |
21 | 23 | 2-3 |
31 | 24 | 2-4 |