SQL如何用表A更新表B
文章标题很短,因为问题的描述过于具体,标题就会显得过长。
这个问题更为准确地描述应该是这样:表结构雷同或者有相似字段的两张表A和B,如何用A表的字段数据去更新B表字段的数据?
操作方法:
1 update B
2 set B.clolumn_name = A.cloumn.name
3 from A,B
4 where A.ID = B.ID
实例验证。
俗话说,铁打的营盘流水的兵,政府也一样。政府内阁,会随着领导人的变更而发生变更。
分别创建两个表:cabinet和cabinet_new。
cabinet表的内容是在任美国政府内阁成员信息表。
cabinet_new表的内容是新总统的内阁成员信息表。
创建两个表并插入信息,语句如下:
1 create table cabinet
2 (
3 post VARCHAR(12),
4 name VARCHAR(32)
5 )
6
7 create table cabinet_new
8 (
9 post_new VARCHAR(12),
10 name_new VARCHAR(32)
11 )
12
13 INSERT INTO cabinet
14 VALUES ('总统','奥巴马')
15 INSERT INTO cabinet
16 VALUES ('国务卿','克里')
17 INSERT INTO cabinet
18 VALUES ('国防部长','盖茨')
19 INSERT INTO cabinet
20 VALUES ('财政部长','盖特纳')
21 INSERT INTO cabinet
22 VALUES ('司法部长','霍尔德')
23 INSERT INTO cabinet
24 VALUES ('商务部长','骆家辉')
25 INSERT INTO cabinet
26 VALUES ('能源部长','朱棣文')
27
28 INSERT INTO cabinet_new
29 VALUES('总统','特朗普')
30 INSERT INTO cabinet_new
31 VALUES('国务卿','蒂勒森')
32 INSERT INTO cabinet_new
33 VALUES('国防部长','马蒂斯')
34 INSERT INTO cabinet_new
35 VALUES('财政部长','努钦')
36 INSERT INTO cabinet_new
37 VALUES('司法部长','塞申斯')
38 INSERT INTO cabinet_new
39 VALUES('商务部长','罗斯')
40
41 select * from cabinet
42 select * from cabinet_new
执行结果:
随着奥巴马退职,新总统特朗普也即将上任,相应的,内阁成员也要更换。
对数据表来说,就是将cabinet表中的数据用cabinet_new更新。
根据上述操作方法,编写更新语句并做查询:
1 update cabinet
2 set cabinet.name = cabinet_new.name_new
3 from cabinet,cabinet_new
4 where cabinet.post = cabinet_new.post_new
5
6 select * from cabinet
7 select * from cabinet_new
执行结果:
有执行结果可以知道,更新成功,操作方法可行。
SQL如何用表A更新表B的更多相关文章
- sql server 跨IP库更新表字段(OPENDATASOURCE 、update)
--跨ip库更新表字段 update uat set goodsType=dev.goodsType from OPENDATASOURCE('SQLOLEDB','Data Source=127.0 ...
- MySQL创建表,更新表,删除表,重命名表
创建表 mysql> create table 表名( -> 列名 数据类型 是否为空 auto_increment, -> 列名 数据类型 是否为空... -> ... -& ...
- 根据多表条件更新表.............. 一条sql语句.............
CREATE TABLE a( NAME INT, age int ); CREATE TABLE b( height INT, weight int ); ,); ,); SELECT * FROM ...
- Activiti+oracle 启动项目时不能自动建表或更新表的问题分析及解决办法
现象描述:按照正常配置,第一次启动时不能自动建表 关键配置片段如下: <bean id="processEngineConfiguration" class="or ...
- db2重组所有表和更新表统计信息
1.构建db2admin模式下的所有表的重组语句: select ' reorg table '||TABLE_NAME||';' from sysibm.tables where TABLE_SC ...
- SqlServer 循环建表、删除表、更新表
常用于分库分表 1.批量删除 declare @outter int declare @inner int ) ) ) begin set @tablePrefix='BankPayOrder_'+c ...
- SQL 将2张不相关的表拼接成2列,批量更新至另一张表
update SO_Master set LotteryNo=t2.LotteryNo,UpdateTime=GETDATE() --select sm.LotteryNo,sm.SysNo,t2.L ...
- Oracle\MS SQL Server Update多表关联更新
原文:Oracle\MS SQL Server Update多表关联更新 一条Update更新语句是不能更新多张表的,除非使用触发器隐含更新.而表的更新操作中,在很多情况下需要在表达式中引用要更新的表 ...
- SQL Server中的Merge关键字 更新表数据
简介 Merge关键字是一个神奇的DML关键字.它在SQL Server 2008被引入,它能将Insert,Update,Delete简单的并为一句.MSDN对于Merge的解释非常的短小精悍:”根 ...
随机推荐
- linux vim编辑器使用
小i 在光标所在行位置停止不动开始写入内容 大I 在光标所在行行首开始写入内容 小a 在光标所在行当前字符后开始写入内容 大A 在光标所在行行尾开始写入内容 小o 在光标所在行下一行开始写入内容 大O ...
- js判断是否为电话号码
/* 用途:检查输入字符串是否符合国内固话或者传真格式 输入: s:字符串 格式例如:030-4557777返回: 如果通过验证返回true,否则返回false */ function isTel( ...
- js判断json数据是否存在某字段的方法
方式一 !("key" in obj) if("name" in json){//json就是数组,name是你要找的值 console.log("有 ...
- nodejs制作爬虫程序
在nodejs中,可以通过不断对服务器进行请求,以及本身的fs =>filesystem 模块和clientRequest模块对网站的资源进行怕取,目前只做到了对图片的趴取!视频文件格式各异, ...
- 手把手带你撸一把springsecurity框架源码中的认证流程
提springsecurity之前,不得不说一下另外一个轻量级的安全框架Shiro,在springboot未出世之前,Shiro可谓是颇有统一J2EE的安全领域的趋势. 有关shiro的技术点 1.s ...
- Python Django项目日志查询系统
该项目适合中小型公司日志查询工作.大型公司可以使用elk等.该系统其实就是调用了absible命令去查日志,然后把输出的信息输到页面查看. 日志查询系统 维护手册 作者:陈土锋 日期:2020年6月1 ...
- 安全市场迎来新挑战,FinClip助力车联网数据安全
随着汽车工业的发展与电子技术的进步,智能汽车迎来了前所未有的蓬勃发展,随着汽车电动化.网联化.智能化交融发展,车辆运行安全.数据安全和网络安全风险交织叠加,安全形势更加复杂严峻......
- 1.Docker容器学习之新生入门必备基础知识
0x00 Docker 快速入门 1.基础介绍 描述:Docker [ˈdɑ:kə(r)] 是一个基于Go语言开发实现的遵循Apache 2.0协议开源项目,目标是实现轻量级的操作系统虚拟化解决方案: ...
- perf性能分析工具使用分享
@ 目录 前言 perf的介绍和安装 perf基本使用 perf list使用,可以列出所有的采样事件 perf stat 概览程序的运行情况 perf top实时显示当前系统的性能统计信息 perf ...
- 2021.07.20 P3951 小凯的疑惑(最大公因数,未证)
2021.07.20 P3951 小凯的疑惑(最大公因数,未证) 重点: 1.最大公因数 题意: 求ax+by最大的表示不了的数(a,b给定 x,y非负). 分析: 不会.--2021.07.20 代 ...