公司做的业务有个需求是将A表中的某些字段数据,更新到B表中的相应含义的字段中。
假设user、score表的字段如下:
user表
userId | username | password | sex | addr | phone |
---|---|---|---|---|---|
1 | 张珊 | 123 | 男 | 北京市 | 1562356586 |
2 | 李思 | 456 | 女 | 北京市 | 1562354256 |
3 | 王武 | 789 | 男 | 北京市 | 1562345544 |
4 | 王柳 | 113 | 男 | 北京市 | 1562445778 |
score表
scoreId | userId | username | score | course | phone |
---|---|---|---|---|---|
1 | 1 | 80 | 语文 | ||
2 | 1 | 85 | 数学 | ||
3 | 3 | 52 | 语文 | ||
4 | 2 | 67 | 数学 |
现在score表中的username和phone字段是空的,需要从user表中,查找出相应的值插入score表中,SQL语句如下:
update score,user
set score.username=user.username,score.phone=user.phone
where score.userId=user.userId
或
update score join user on score.userId=user.userId
set score.username=user.username,score.phone=user.phone
当然这只是个例子,思想是一样的。