在sql server中,我们可是使用以下update语句对表进行更新:
UPDATE a SET a.name = (SELECT NAME FROM b) ;
但是在mysql中,不能直接使用set select的结果,必须使用INNER JOIN:
UPDATE a INNER JOIN (SELECT NAME FROM b) c SET a.id= c.id;
inner join(等值连接) 只返回两个表中联结字段相等的行
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
update paiban2 INNER JOIN
(select * from paiban
where paiban.0502day like '5月5日 白班%') as b
set paiban2.0505day = b.0502day
where paiban2.ID = b.ID
本文详细对比了SQLServer与MySQL中更新语句的使用差异,特别是在使用子查询进行更新时的不同语法。介绍了innerjoin、leftjoin和rightjoin的概念及应用,通过具体实例展示了如何在MySQL中实现类似SQLServer的update语句效果。
6921

被折叠的 条评论
为什么被折叠?



