当前位置: 首页 > news >正文

MySQL 和 SQL Server 中的连表更新 UPDATE JOIN 写法比较

MySQL 和 SQL Server 中的连表更新 UPDATE JOIN 写法比较

  • 一、前言
    • 1. MySQL 写法
      • 1.1 解释
    • 2. SQL Server 写法
      • 2.1 解释
  • 二、总结


一、前言

在关系型数据库管理系统(RDBMS)中,使用 UPDATE 语句进行表格更新是非常常见的操作。特别是当需要根据另一个表格的数据来更新目标表格时,使用 JOIN 是一种有效的方法。本文将比较 MySQL 和 SQL Server 中使用 UPDATE JOIN 的写法,并详细说明它们的语法和用法。

1. MySQL 写法

MySQL 使用 UPDATE ... JOIN ... SET ... 语法来实现表格联接更新。以下是一个示例:

UPDATE ladder_control t1
JOIN hga_mpwh t2 ON t1.fjh = t2.mpbm
SET t1.room_number = t2.id
WHERE t1.room_number IS NULL;

1.1 解释

  • ladder_controlhga_mpwh 是两个表格。
  • UPDATE ladder_control t1 指定要更新的目标表格,并用 t1 作为别名。
  • JOIN hga_mpwh t2 ON t1.fjh = t2.mpbm 使用 INNER JOIN 将 ladder_control 表格和 hga_mpwh 表格联接,条件是 t1.fjh = t2.mpbm
  • SET t1.room_number = t2.id 指定了更新操作,将 ladder_control 表格中的 room_number 列更新为 hga_mpwh 表格中对应的 id 列。
  • WHERE t1.room_number IS NULL 是一个过滤条件,仅当 ladder_control 表格中的 room_number 为空时才执行更新操作。

2. SQL Server 写法

SQL Server 使用 UPDATE ... FROM ... SET ... WHERE ... 语法来实现表格联接更新。以下是相应的示例:

UPDATE t1
SET t1.room_number = t2.id
FROM ladder_control t1
JOIN hga_mpwh t2 ON t1.fjh = t2.mpbm
WHERE t1.room_number IS NULL;

2.1 解释

  • ladder_controlhga_mpwh 同样是两个表格。
  • UPDATE t1 指定要更新的目标表格 t1,这里不需要使用别名。
  • FROM ladder_control t1 JOIN hga_mpwh t2 ON t1.fjh = t2.mpbm 使用 INNER JOIN 将 ladder_control 表格和 hga_mpwh 表格联接,条件是 t1.fjh = t2.mpbm
  • SET t1.room_number = t2.id 指定了更新操作,将 ladder_control 表格中的 room_number 列更新为 hga_mpwh 表格中对应的 id 列。
  • WHERE t1.room_number IS NULL 是一个过滤条件,仅当 ladder_control 表格中的 room_number 为空时才执行更新操作。

二、总结

无论是在 MySQL 还是 SQL Server 中,通过使用 JOIN 可以有效地根据另一个表格的数据更新目标表格的内容。虽然两者的语法有细微差别,但基本的操作逻辑和语义是相似的。熟悉这些语法和用法将帮助你更加灵活地操作数据库,并有效地处理数据更新任务。

希望本文能够帮助你理解 MySQL 和 SQL Server 中 UPDATE JOIN 的写法和用法!

相关文章:

MySQL 和 SQL Server 中的连表更新 UPDATE JOIN 写法比较

MySQL 和 SQL Server 中的连表更新 UPDATE JOIN 写法比较 一、前言1. MySQL 写法1.1 解释 2. SQL Server 写法2.1 解释 二、总结 一、前言 在关系型数据库管理系统(RDBMS)中,使用 UPDATE 语句进行表格更新是非常常见的操作。特别是当需要根据…...

手把手教你FL Studio 24.1.1.4234中文破解安装激活图文激活教程

在数字化音乐制作的浪潮中,FL Studio 24.1.1.4234中文破解版的发布无疑又掀起了一股新的热潮。这款由Image-Line公司开发的数字音频工作站(DAW)软件,以其强大的功能和易用的界面,赢得了全球无数音乐制作人的青睐。本文…...

使用Spring Boot与Spire.Doc实现Word文档的多样化操作

​ 博客主页: 南来_北往 系列专栏:Spring Boot实战 前言 使用Spring Boot与Spire.Doc实现Word文档的多样化操作具有以下优势: 强大的功能组合:Spring Boot提供了快速构建独立和生产级的Spring应用程序的能力,而Spire.Doc则…...

从食堂采购系统源码到成品:打造供应链采购管理平台实战详解

本篇文章,笔者将详细介绍如何从食堂采购系统的源码开始,逐步打造一个完备的供应链采购管理平台,帮助企业实现采购流程的智能化和高效化。 一、需求分析与规划 一般来说,食堂采购系统需要具备以下基本功能: 1.供应商…...

在window将Redis注册为服务

将redis注册为系统服务,开启自启动 安装服务 默认注册完之后会自动启动,在window中的服务看一下,如果启动类型为自动,状态是自动运行则启动完成。如果是手动,需要右键属性调整为自动,在点击启动&#xff0c…...

PHP商城案例

http://www.e9933.com/...

Linux:bash在被调用时会读取哪些启动文件?

(本文基于5.1-6ubuntu1.1版本的bash) bash在被调用时会读取哪些启动文件?要回答这个问题,首先要弄清楚两个概念:login shell和interactive shell。 login shell login shell是指这样的shell: 第一个命令行参数(进程…...

帆软FineReport之替换函数

在日常帆软FineReport中经常会使用字符串替换函数,记录下来,方便备查。 一、字符串替换 第一种、指定文本替换 使用SUBSTITUTE函数,语法如下所示 SUBSTITUTE(text,old_text,new_text,instance_num) 字段…...

Redis的应用场景及类型

目录 一、Redis的应用场景 1、限流 2、分布式锁 3、点赞 4、消息队列 二、Redis类型的命令及用法 1、String类型 2、Hash类型 3、List类型 4、Set类型 5、Zset类型 6、Redis工具类 Redis使用缓存的目的就是提升读写性能 实际业务场景下,我们就可以把 Mys…...

【图像处理】不智能的目标识别

目录 目标识别的划分 识别入门 概念学习 滤波 模版 阈值化 形态学操作 开运算 闭运算 编程语言 示例 大家有没有想过在没有人工智能或者说没有机器学习的的时候,计算机是怎么做目标识别的? 计算机视觉时至今日也是急需人才的领域&…...

《500 Lines or Less》(5)异步爬虫

https://aosabook.org/en/500L/a-web-crawler-with-asyncio-coroutines.html ——A. Jesse Jiryu Davis and Guido van Rossum 介绍 网络程序消耗的不是计算资源,而是打开许多缓慢的连接,解决此问题的现代方法是异步IO。 本章介绍一个简单的网络爬虫&a…...

Transformer!自注意力机制的高层级理解Attention Is All You Need!

背景 最近在不断深入学习LLM的相关内容,那么transformer就是一个绕不开的话题。然而对于一个NLP门外汉来说,论文看得是真头疼,总览全网,我们似乎缺少一个至高而下的高层级理解。所以本文就来弥补此方面的缺失~ 本文并不讲解有关…...

关于使用Postman在请求https网址没有响应,但是用浏览器有响应的问题解决

一、问题描述 使用postman调用正式环境的公共接口,无需鉴权,但是产生了返回状态码200,但是data中却无数据,如下 {"code": "200","message": "操作成功","data": {"qr_c…...

【React 】开发环境搭建详细指南

文章目录 一、准备工作1. 安装 Node.js 和 npm2. 选择代码编辑器 二、创建 React 项目1. 使用 Create React App2. 手动配置 React 项目 三、集成开发工具1. ESLint 和 Prettier2. 使用 Git 进行版本控制 在现代前端开发中,React 是一个非常流行的框架,用…...

结构体笔记

结构体 C语言中的数据类型: 基本数据类型:char/int/short/double/float/long 构造数据类型:数组,指针,结构体,共用体,枚举 概念: 结构体是用户自定义的一种数据类型&#xff0c…...

Elasticsearch:Golang ECS 日志记录 - zerolog

ECS 记录器是你最喜欢的日志库的格式化程序/编码器插件。它们可让你轻松地将日志格式化为与 ECS 兼容的 JSON。在本教程中,我将详述如何 编码器以 JSON 格式记录日志,并以 ECS 错误格式处理错误字段的记录。 默认情况下,会添加以下字段&…...

Ip2region - 基于xdb离线库的Java IP查询工具提供给脚本调用

文章目录 Pre效果实现git clone编译测试程序将ip2region.xdb放到指定目录使用改进最终效果 Pre OpenSource - Ip2region 离线IP地址定位库和IP定位数据管理框架 Ip2region - xdb java 查询客户端实现 效果 最终效果 实现 git clone git clone https://github.com/lionsou…...

研发管理革命:探索顶尖的工时系统选择

国内外主流的10款研发工时管理系统对比:PingCode、Worktile、无鱼项目工时系统、Toggl Track、泽众ALM、Asana、Jira、GitHub、Trello、TrackingTime。 在研发团队中,工时管理常常成为效率瓶颈,尤其是在资源分配和项目进度跟踪方面。选择合适…...

微服务-MybatisPlus下

微服务-MybatisPlus下 文章目录 微服务-MybatisPlus下1 MybatisPlus扩展功能1.1 代码生成1.2 静态工具1.3 逻辑删除1.4 枚举处理器1.5 JSON处理器**1.5.1.定义实体****1.5.2.使用类型处理器** **1.6 配置加密(选学)**1.6.1.生成秘钥**1.6.2.修改配置****…...

【python_将一个列表中的几个字典改成二维列表,并删除不需要的列】

def 将一个列表中的几个字典改成二维列表(original_list,headersToRemove_list):# 初始化一个列表用于存储遇到的键,保持顺序ordered_keys []# 遍历data中的每个字典,添加其键到ordered_keys,如果该键还未被添加for d in original_list:for …...

如何突破窗口限制:3分钟掌握WindowResizer强制调整技巧

如何突破窗口限制:3分钟掌握WindowResizer强制调整技巧 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer 还在为那些无法拖拽大小的应用程序窗口而烦恼吗?Win…...

马斯克诉奥尔特曼案第三周:微软与 OpenAI 举证反击,争议焦点浮出水面

【案件进展概述】智东西 5 月 12 日消息,今天,马斯克诉奥尔特曼案进入第三周,被告方关键证人相继出庭,微软 CEO 萨提亚纳德拉 (Satya Nadella)、OpenAI 联合创始人兼前首席科学家 伊利亚苏茨克维 &#xff…...

神经进化算法实战:从零构建AI Flappy Bird游戏智能体

1. 项目概述:当AI学会玩像素小鸟如果你玩过那个让人又爱又恨的《Flappy Bird》,一定对那只在绿色水管间反复横跳的小鸟记忆犹新。但你想过吗,如果让一群“数字小鸟”自己学会玩这个游戏,会是什么景象?这正是“AI Flapp…...

太秀了,我把自己蒸馏成了 Skill!已开源

最近 GitHub 上掀起了一股「AI 蒸馏」热潮,这里的蒸馏可不是酿酒,而是把身边的人封装成 AI 技能包——同事.skill、老板.skill、搭档.skill 等各类蒸馏项目层出不穷,大家都在把身边人的工作经验、说话风格、做事逻辑,做成可直接使…...

如何零成本测试ZPL标签?Virtual ZPL Printer终极解决方案揭秘

如何零成本测试ZPL标签?Virtual ZPL Printer终极解决方案揭秘 【免费下载链接】Virtual-ZPL-Printer An ethernet based virtual Zebra Label Printer that can be used to test applications that produce bar code labels. 项目地址: https://gitcode.com/gh_mi…...

华为eNSP模拟企业网:用VRRP+MSTP搞定500人公司的网络冗余与隔离(附排错记录)

华为eNSP实战:构建500人企业级网络的高可用架构 当一家企业发展到500人规模时,网络架构的稳定性和可靠性就成为业务连续性的关键保障。作为网络工程师,我们经常面临这样的挑战:如何在有限的预算下,设计出既满足部门隔离…...

西门子S7-1200 PLC编程避坑指南:从振荡电路到浮点数计算,新手最常犯的5个错误

西门子S7-1200 PLC编程实战避坑手册:从逻辑陷阱到数据精度 第一次接触西门子S7-1200 PLC编程时,我对着闪烁的指示灯发呆了半小时——明明按照手册写的梯形图,为什么定时器就是不工作?后来才发现是TON指令的PT参数单位理解错误。这…...

构建本地语音智能体:基于Go与OpenClaw的实时交互系统

1. 项目概述:一个能听懂你说话的本地智能体伙伴如果你和我一样,对传统的、需要打字输入、反应迟缓的AI助手感到厌倦,总幻想着能有一个像电影《Her》里Samantha那样的智能伙伴,能用最自然的语音与你交流,甚至能帮你执行…...

Thorium浏览器终极指南:如何打造最快的Chromium分支浏览器

Thorium浏览器终极指南:如何打造最快的Chromium分支浏览器 【免费下载链接】thorium Chromium fork named after radioactive element No. 90. Source code and Linux releases. Windows/MacOS/ARM builds served in different repos, links are towards the top of…...

基于eBPF的系统调用监控:原理、部署与性能调优实战

1. 项目概述:一个“无人值守”的系统调用监控器最近在折腾系统性能分析和安全监控,发现了一个挺有意思的开源项目:syscalldev/nohuman。这个名字直译过来是“无人”,听起来有点神秘,但其实它的核心功能非常直接——一个…...