使用JOIN进行SQL更新
使用JOIN进行SQL更新 SQL UPDATE JOIN意味着我们将使用另一个表和联接条件来更新一个表。 让…
使用JOIN进行SQL更新
SQL UPDATE JOIN意味着我们将使用另一个表和联接条件来更新一个表。
让我们以客户表为例。我已经更新了包含来自另一个源系统的最新客户详细信息的客户表。我想用最新数据更新客户表。在这种情况下,我将使用对客户ID的联接在目标表和源表之间执行联接。
让我们看看带有JOIN语句的SQL UPDATE查询的语法。
UPDATE customer_table INNER JOIN Customer_table ON customer_table.rel_cust_name = customer_table.cust_id SET customer_table.rel_cust_name = customer_table.cust_name
如何在带有JOIN的SQL UPDATE语句中使用多个表
我们来看看两个表,表1和表2。
创建表1
CREATE TABLE table1 (column1 INT, column2 INT, column3 VARCHAR (100)) INSERT INTO table1 (col1, col2, col3) SELECT 1, 11, 'FIRST' UNION ALL SELECT 11,12, 'SECOND' UNION ALL SELECT 21, 13, 'THIRD' UNION ALL SELECT 31, 14, 'FOURTH'
创建表2
CREATE TABLE table2 (column1 INT, column2 INT, column3 VARCHAR (100)) INSERT INTO table2 (col1, col2, col3) SELECT 1, 21, 'TWO-ONE' UNION ALL SELECT 11, 22, 'TWO-TWO' UNION ALL SELECT 21, 23, 'TWO-THREE' UNION ALL SELECT 31, 24, 'TWO-FOUR'
现在检查表中的内容。
SELECT * FROM table_1
SELECT * FROM table_2
Col 1 | Col 2 | Col 3 | |
---|---|---|---|
1 | 1 | 11 | First |
2 | 11 | 12 | Second |
3 | 21 | 13 | Third |
4 | 31 | 14 | Fourth |
Col 1 | Col 2 | Col 3 | |
---|---|---|---|
1 | 1 | 21 | Two-One |
2 | 11 | 22 | Two-Two |
3 | 21 | 23 | Two-Three |
4 | 31 | 24 | Two-Four |
我们的要求是我们有表2,其中有两行,其中Col 1为21和31。我们要为Col 1为21和31的行将值从表2更新到表1。
我们只想更新第2列和第3列的值。
最简单,最常见的方法是在update语句中使用join子句,在update语句中使用多个表。
UPDATE table 1 SET Col 2 = t2.Col2, Col 3 = t2.Col3 FROM table1 t1 INNER JOIN table 2 t2 ON t1.Col1 = t2.col1 WHERE t1.Col1 IN (21,31)
检查表内容
从表1中选择
从表2中选择
Col 1 | Col 2 | Col 3 | |
---|---|---|---|
1 | 1 | 11 | First |
2 | 11 | 12 | Second |
3 | 21 | 23 | Two-Three |
4 | 31 | 24 | Two-Four |
Col 1 | Col 2 | Col 3 | |
---|---|---|---|
1 | 1 | 21 | First |
2 | 11 | 22 | Second |
3 | 21 | 23 | Two-Three |
4 | 31 | 24 | Two-Four |
在这里我们可以看到在update语句中使用join子句。我们已经通过使用join子句合并了两个表。
类别:MySQL、
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!