Mysql 从另一个表更新表:使用内部联接和更新多个表之间的区别?
我想用表2中的值更新表1列'num' 可能真的很基本。。但是我找不到使用Mysql 从另一个表更新表:使用内部联接和更新多个表之间的区别?,mysql,sql,Mysql,Sql,我想用表2中的值更新表1列'num' 可能真的很基本。。但是我找不到使用 内部联接和在本场景中更新表x,y,其中xxxx 假设我有两张桌子: table1 name | num name1 1 name2 2 name3 3 table2 name | num name1 11 name2 22 name4 44 我想要的是: 表1: name | num name1 11 name2 22 name3 3 我可以通过跑步来达到这个目的 方法1: UPDATE tabl
内部联接
和在本场景中更新表x,y,其中xxxx
假设我有两张桌子:
table1
name | num
name1 1
name2 2
name3 3
table2
name | num
name1 11
name2 22
name4 44
我想要的是:
表1:
name | num
name1 11
name2 22
name3 3
我可以通过跑步来达到这个目的
方法1:
UPDATE table1, table2
SET table1.num = table2.num
where table1.name = table2.name
及
方法2:
UPDATE table1
inner join table2 on table1.name = table2.name
SET table1.num = table2.num
我得到了同样的结果,我想知道我是否可以使用任何一个。。或者这两个查询之间有什么区别??
我想我需要使用method1来更新这两个表。。
但是,如果我想在这种情况下只更新1个表,那么我使用哪个查询重要吗?这两个查询在功能上是等效的——并且都是非标准SQL语法(即MySQL扩展)。他们也应该制定相同的执行计划 也就是说,我推荐使用
JOIN
的版本。在我看来,JOIN
总是比逗号更可取