概述

有两张表【user】和【city】,user表的 city_uuidcity_no 和 city 表的 city_uuidcity_no 一一对应,但是 user 表只有 city_uuid,这时候需要将 city 对应的 city_no 批量更新到 user 表中

批量更新方式

第一种方式(inner join 内连接)

update u
set u.city_no = c.city_no
from user u
inner join city c
on u.city_uuid = c.city_uuid
where u.city_uuid is not null and u.city_no is null

第二种方式(子查询)

update u
set u.city_no = (select c.city_no from city c where u.city_uuid = c.city_uuid)
from user u

第三种方式:(笛卡尔积)

update u
set u.city_no = c.city_no
from [user] u, city c
where u.city_uuid = c.city_uuid

update 多表更新

update table1 t1,table2 t2, table3 t3, ... , tablen tn
set t1.column= ?, t2.column, t3.column = ?, ... , tn.column = ?
where t1.xx= ?, t2.xx = ?, ... , tn.xx = ?

案例:(conditionUuid是user表的外键,每个conditionUuid对应两条user记录,将producter记录覆盖consumer记录的指定字段值)

update r2
set r2.userUuid = r1.userUuid, r2.userName = r1.userName , r2.age = r1.age, r2.updatedTime = '2021-02-22 22:22:22.222'
from user r1
inner join user r2
on r1.conditionUuid = r2.conditionUuid
where r1.conditionValue = 'condition-consumer-00000000000000000' and r1.userName is not null
and r2.conditionValue = 'condition-producter-0000000000000000' and r2.userName is not null

sql批量更新update嵌套select更新相关推荐

  1. linux如何更新数据包up,Linux更新(update/upgrade) 修改更新源

    类似于windows的自动更新,linux也有相应的更新方式. 更新命令: $sudo apt-get update #更新 $sudo apt-get upgrade #升级,需要用update更新 ...

  2. mysql 批量update sql_批量更新sql |批量update sql

    zencart批量更新后台邮箱地址sql zencart批量更新后台邮箱地址sql UPDATE `configuration` SET `configuration_value` = '新邮箱地址' ...

  3. batchupdate写法_mybatis执行批量插入insert和批量更新update

    Mybatis批量插入和批量更新数据的资料相信大家从网上能查找到很多资料,本文重点总结一下mybatis执行批量插入insert和批量更新update数据.在mysql数据库中批量插入,如:inser ...

  4. Oracle\MS SQL Server的数据库多表关联更新UPDATE与多表更新

    一条Update更新语句是不能更新多张表的,除非使用触发器隐含更新.而表的更新操作中,在很多情况下需要在表达式中引用要更新的表以外的数据.我们先来讨论根据其他表数据更新你要更新的表 一.MS    S ...

  5. 如何从SQL Server中的SELECT更新?

    在SQL Server中 ,可以使用SELECT语句insert表中: INSERT INTO Table (col1, col2, col3) SELECT col1, col2, col3 FRO ...

  6. Oracle数据库之oracle update set select from 关联更新

    本文主要向大家介绍了Oracle数据库之oracle update set select from 关联更新,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. 工作中有个需求,现在 ...

  7. sql 批量更新时间字段加小时

    sql 批量更新时间字段加小时 update 表名 set 时间字段=时间字段+12/24 where 条件 sql update su_user t set t.update_time = t.up ...

  8. mybatis 批量更新update详解

    1  更新单条记录 UPDATE course SET name = 'course1' WHEREid = 'id1'; 2  更新多条记录的同一个字段为同一个值 UPDATE course SET ...

  9. oracle update set select,oracle update set select from 关联更新

    工作中有个需求,现在新表中有一些数据跟老表的基本一样,这样只需要把老表中数据搬到新表中就可以了,同时把不同的字段修改下数据即可,在修改字段时发现,需要指定一个条件,比如主键id,来修改某条记录,这样一 ...

最新文章

  1. Jupyter notebook与Spyder集成
  2. 搭建git服务器(权限管理)
  3. php100 代码,php_100 PHP源代码 - 下载 - 搜珍网
  4. bfc是什么_关于margin的两个经典bug,以及bfc简述
  5. 【渝粤教育】广东开放大学 网络完全与技术 形成性考核 (44)
  6. python机制_python异常机制个人理解(参考网上资料)
  7. Linux下修改只读文件
  8. 深入浅出MFC笔记(5)
  9. 小米路由器显示DNS服务器设置错误,小米路由器dns异常怎么修复
  10. PTA数据结构-01-复杂度1 最大子列和问题
  11. 微信支付商户平台,企业付款,企业向个人付款接口总结
  12. 有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号
  13. 复旦python课补考_复旦学姐说:“这段科研,最终帮助我这个零经验小白拿下了量化岗实习!”...
  14. 服务器异常 随机名称的进程CPU资源占用过高
  15. nlp-问答任务-抽取式问答
  16. PIXI_锚点图片位控
  17. 硬盘无法格式化及RAW格式的另一种处理方法
  18. 腾讯云点播 - 视频防盗加密 - 使用总结
  19. JavaWeb仿twitter个人社交网络及微博服务网站
  20. 用CSS3如何实现钟摆动画的导航栏菜单效果

热门文章

  1. hive币涨幅空间大吗_HIVE币今日价格_HIVE币最新消息_HIVE币行情走势图 - 币界网
  2. Windows如何打开heic文件,一招就可以学会
  3. 快消品季度销量排序预测-线性回归预测分析
  4. 程序员:去你Y的“油腻中年”!
  5. python二级用的是什么软件_考计算机二级用啥软件练
  6. 手机可以连接多少个蓝牙设备?
  7. Android之实现手势缩放imageview中的图片
  8. 什么是KYC,KYC认证的重要性
  9. 蔚来汽车在港交所上市,年初至今销量延续疲软状态
  10. 二叉排序树的平均查找长度(成功不成功)