关系型数据库关联更新数据汇总
先给出需求,有2张表,学生表和分数表,两种表都有一个分数列,但是这两列的值不一致,现在需要更新学生表,让学生表中的值等于分数表中的值。
初始化脚本如下:
create table student ( id varchar(100) primary key, name varchar(50), addr varchar(50), score int ); create table score ( stuId varchar(100) primary key, score int ); insert into student(id,name,addr,score) values('1','张三','重庆',100); insert into student(id,name,addr,score) values('2','张三2','重庆',120); insert into student(id,name,addr,score) values('3','张三3','重庆',150); insert into score(stuId,score) values('1',10); insert into score(stuId,score) values('2',12); insert into score(stuId,score) values('4',50);
数据展示如下:
mysql更新脚本:
update student a inner join score b on a.id=b.stuId set a.score=b.score;
oracle更新脚本:
-- 方式一 UPDATE ( select t1.score t1score,t2.score t2score from student t1 inner join score t2 on t1.id=t2.stuId )t set t1score =t2score; -- 方式二 merge into student using (select stuId,score from score) t on (t.stuId = student.id) when matched then update set student.score = t.score;
Sqlserver更新脚本:
update a set a.score=b.score from student a inner join score b on a.id=b.stuId;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗