update

update a set a.name=b.username where a.id=b.id表a和表b是关联的,id是共有字段,也可以说是相同的,name是a的字段,username是b的字段问:以上语句是否有问题,有问题怎么修改,没问题,那么它是实现什么功能的。
[b]问题补充:[/b]
a和b是不同的两张表,但是有公用的id,也就是关联的,可以认为是相同的

如楼上所说:"当然有问题,b是什么东西".
这个sql语句好像是中国语法的外文.
不过从字面上看,应该是:将a表与b表的ID相同的记录,把b表的name值赋到a表的name值.
这样写就可以了:
update a set a.name=(select username from b where a.id=b.id);
前提条件是b表id有唯一约束.

[code="java"]update a set a.name=b.username where a.id=b.id[/code]
当然有问题,b是什么东西

你没理解一楼的意思啊.
update a set a.name=b.username where a.id=b.id这条sql语句在执行时,
解析引擎无法解释b是什么含义.