数据库教程-SQL Update与Join

跨零代码为大家提供高品质的解决方案,请大家多多来访,跨零不胜感激,在此谢过。

SQL UPDATE JOIN可使用一个表和连接条件来更新另一个表。

假设有一个客户表,更新包含来自其他系统的最新客户详细信息的客户表。比如要用最新数据来更新客户表。 在这种情况下,将使用客户ID上的连接在目标表和源表之间执行连接。

下面来看看SQL UPDATEJOIN语句的查询语法。

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 

如何在SQL UPDATE语句中使用JOIN使用多个表?

这里使用两个表:table1table2

创建table1表 –

CREATE TABLE table1 (column1 INT, column2 INT, column3 VARCHAR (100)); INSERT INTO table1 (column1, column2, column3) SELECT 1, 11, 'FIRST'   UNION ALL   SELECT 11,12, 'SECOND'   UNION ALL    SELECT 21, 13, 'THIRD'   UNION ALL    SELECT 31, 14, 'FOURTH'; 

创建table2表 –

CREATE TABLE table2 (column1 INT, column2 INT, column3 VARCHAR (100)); INSERT INTO table2 (column1, column2, column3) 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 table1; 

执行上面示例代码,得到以下结果 –

mysql> SELECT * FROM table1; +---------+---------+---------+ | column1 | column2 | column3 | +---------+---------+---------+ |       1 |      11 | FIRST   | |      11 |      12 | SECOND  | |      21 |      13 | THIRD   | |      31 |      14 | FOURTH  | +---------+---------+---------+ 4 rows in set 
SELECT * FROM table2; 

执行上面示例代码,得到以下结果 –

mysql> SELECT * FROM table2; +---------+---------+-----------+ | column1 | column2 | column3   | +---------+---------+-----------+ |       1 |      21 | TWO-ONE   | |      11 |      22 | TWO-TWO   | |      21 |      23 | TWO-THREE | |      31 |      24 | TWO-FOUR  | +---------+---------+-----------+ 4 rows in set 

table2中有两行:column1的值是2131,假设想要将table1中的值更新为table2column12131行的值。

仅更新column2column3的值。

最简单和最常用的方法是在update语句中使用join子句并在update语句中使用多个表。

UPDATE table1 t1 LEFT JOIN  table2 t2 ON t1.column1 = t2.column1 SET t1.column2 = t2.column2,   t1.column3 = t2.column3  where t1.column1 in(21,31); 

执行以下语句,查看更新结果 –

mysql> select * from table1; +---------+---------+-----------+ | column1 | column2 | column3   | +---------+---------+-----------+ |       1 |      11 | FIRST     | |      11 |      12 | SECOND    | |      21 |      23 | TWO-THREE | |      31 |      24 | TWO-FOUR  | +---------+---------+-----------+ 4 rows in set 

  

从零到一,创造未来!跨零综合IT问题解决服务站,欢迎你的到来。Oracle数据库教程 sql教程 只为你绽放。

本文固定链接: http://kua0.com/2019/01/24/数据库教程-sql-update与join/

为您推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注