sql批量更新update嵌套select更新

sql批量更新update嵌套select更新概述有两张表 user 和 city user 表的 city uuid city no 和 city 表的 city uuid city no 一一对应 但是 user 表只有 city uuid 这时候需要将 city 对应的 city no 批量更新到 user 表中批量更新方式第一种方式 innerjoin 内连接 updateuserse no c city nofromuserui city uuid

概述

有两张表【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 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/217942.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午8:25
下一篇 2026年3月18日 上午8:25


相关推荐

  • 统计分析SQL Server Profiler 跟踪的SQL

    统计分析SQL Server Profiler 跟踪的SQL

    2021年12月4日
    58
  • SpringMVC工作原理概述

    SpringMVC工作原理概述SpringMVC框架介绍SpringMVC属于SpringFrameWork的后续产品,已经融合在SpringWebFlow里面。Spring框架提供了构建Web应用程序的全功能MVC模块。使用Spring可插入的MVC架构,可以选择是使用内置的SpringWeb框架还是Struts这样的Web框架。通过策略接口,Spring框架是高度可配置的,而…

    2022年5月15日
    46
  • GIT撤销MERGING状态

    GIT撤销MERGING状态gitpull 合并代码的时候 若发生冲突 会处于 merging 状态 在命令行输入 gitresethard

    2026年3月18日
    2
  • MySQL下载与安装教程(超详细)

    MySQL下载与安装教程(超详细)一、MySQL下载下载地址:https://dev.mysql.com/downloads/mysql/根据自己需要下载对应的版本,我下载的是mysql-5.7.31二、MySQL安装教程1.解压安装包下载后得到.zip安装包,解压到自己想要安装到的文件目录下(最好建一个专门存放环境的文件夹),我解压到的是D:\environment\mysql-5.7.312.添加环境变量我的电脑->右键->属性->高级系统设置->环境变量选择Path->编辑-&g

    2022年5月29日
    45
  • Keras学习(一)—— Keras 模型(keras.model): Sequential 顺序模型 和 Model 模型

    Keras学习(一)—— Keras 模型(keras.model): Sequential 顺序模型 和 Model 模型KerasModel模型Keras中文文档Keras模型Sequential顺序模型Sequential使用方法一个简单的Sequential示例构建方法inputshape输入的形状(格式)complication编译training训练Model模型Model使用方法compile编译fit进行训练evaluate函数进行评估Keras中文文档首先了解Keras…

    2025年5月24日
    4
  • 如何制作微信小程序_制作微信GIF表情

    如何制作微信小程序_制作微信GIF表情作为一个小程序从业人员,我经常在公众号推荐各种好玩的软件和小程序。题特意整理了一下,从工具类、娱乐类、游戏类分享一些值得推荐的小程序,希望有所帮助。整理内容花了大半天,觉得有用的话求个赞。娱乐类1.头像小助手这是一款微信头像制作工具,方便一键定制各种个性头像,功能包含给微信头像加V、加字、加1、粉丝头像等功能,轻松制作个性微信头像。2.昵称工具一款昵称制作工具,可以一键生成各种花式昵称,包括空白…

    2026年1月15日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号