前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQL如何对不同表的数据进行更新

SQL如何对不同表的数据进行更新

作者头像
繁华是客
发布2023-03-03 20:16:10
3.5K0
发布2023-03-03 20:16:10
举报

如果我们有表A和表B, 我想把我的表A的Col1内的数据更新到表B的Col1里面,那么我们怎么做呢?

Microsoft SQL例子

代码语言:javascript
复制
UPDATE        scores
SET           scores.name = p.name
FROM          scores s
INNER JOIN    people p
ON            s.personId = p.id

MySQL例子

代码语言:javascript
复制
UPDATE    scores s,
          people p
SET       scores.name = people.name
WHERE     s.personId = p.id

高阶使用

当我们从一个上传的表,与多个表合并查询后,再更新,就会花费很多时间。那么,有没有办法一次性,将上传的表与需要的数据合并后再根据条件更新呢?

MERGE SQL使用

The MERGE statement is used to manipulate (INSERT, UPDATE, DELETE) a target table by referencing a source table for the matched and unmatched rows. The MERGE statement can be very useful for synchronizing the table from any source table.

Now, if we go back to our position, the MERGE statement can be used as an alternative method for updating data in a table with those in another table. In this method, the reference table can be thought of as a source table and the target table will be the table to be updated. The following query can be an example of this usage method.

代码语言:javascript
复制
MERGE Persons AS Per 
USING(SELECT * FROM AddressList) AS Addr   
ON Addr.PersonID=Per.PersonID 
WHEN MATCHED THEN
UPDATE SET 
Per.PersonPostCode=Addr.PostCode ,
Per.PersonCityName = Addr.City;
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-08-17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Microsoft SQL例子
  • MySQL例子
  • 高阶使用
    • MERGE SQL使用
    相关产品与服务
    云数据库 MySQL
    腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档