Mysql数据库根据主键关联更新指定字段

Mysql数据库根据主键关联更新指定字段

需求:

​ 两张表的主键相同,将一张表的某个字段copy到另一张表中

语句:

update person2 a inner join person b on a.id=b.id set a.name = b.name;

知识点扩展

inner join(内连接)

返回两个表中联结字段相等的行;
在使用INNER JOIN子句之前,必须指定以下条件:

首先,在FROM子句中指定主表。
其次,表中要连接的主表应该出现在INNER JOIN子句中。理论上说,可以连接多个其他表。 但是,为了获得更好的性能,应该限制要连接的表的数量(最好不要超过三个表)。
第三,连接条件或连接谓词。连接条件出现在INNER JOIN子句的ON关键字之后。连接条件是将主表中的行与其他表中的行进行匹配的规则。

示例:
SELECT column_list
FROM t1
INNER JOIN t2 ON join_condition1
INNER JOIN t3 ON join_condition2
...
WHERE where_conditions;

假设使用INNER JOIN子句连接两个表:t1和t2,我们来简化上面的语法。
SELECT column_list
FROM t1
INNER JOIN t2 ON join_condition;

left join(左连接)

左外链接返回左表中所有记录和右表中联结字段相等的记录;
sql:
select * from table1 left join table2 on table1.id=table2.id;

right join(右连接)

返回包括右表中的所有记录和左表中联结字段相等的记录。比如我们有table1、table2两个表
sql:
select * from table1 right join table2 on table1.id=table2.id;

你可能感兴趣的:(mysql)