MySQL跨表、多表更新SQL语句总结

MySQL跨表、多表更新SQL语句总结MySQL跨表、多表更新SQL语句总结

大家好,又见面了,我是你们的朋友全栈君。

单表更新
UPDATE table_name SET field1=new-value1, field2=new-value2 WHERE field=value
多表更新

情况一:

UPDATE userA as a , userB as b SET a.num = b.num*0.5 WHERE a.id = b.uid AND a.deleted_at is null;
UPDATE userA as a INNER JOIN userB as b ON a.id = b.uid SET a.num = b.num*0.5 WHERE AND a.deleted_at is null;

情况二:

UPDATE userA as a INNER JOIN userB as b ON a.id = b.uid SET a.num = b.num*0.5,a.state = 1 WHERE a.id = b.id 
AND a.deleted_at is null
AND (
	b.gb_name = 'a'
	OR b.gb_name = 'b'
	OR b.gb_name = 'c'
	OR b.gb_name = 'd'
	OR b.gb_name = 'e'
	OR b.gb_name = 'f'
	OR b.gb_name = 'g'
);

扩展:
inner join和where区别:
1 WHERE子句中使用的连接语句,在数据库语言中,被称为隐性连接。INNER JOIN……ON子句产生的连接称为显性连接。(其他JOIN参数也是显性连接)WHERE和INNER JOIN产生的连接关系,没有本质区别,结果也一样。但是!隐性连接随着数据库语言的规范和发展,已经逐渐被淘汰,比较新的数据库语言基本上已经抛弃了隐性连接,全部采用显性连接了。

2,测试结果inner join效率更快
事例:
Inner jion 原理:

SELECT
	*
FROM
	A
INNER JOIN B ON B.ID = A.ID
AND B.State = 1
INNER JOIN C ON B.ID = C.ID

where 原理:

SELECT
	*
FROM
	A
INNER JOIN B ON B.ID = A.ID
INNER JOIN C ON B.ID = C.ID
WHERE
	B.State = 1

INNER JOIN时会产生一个结果集,WHERE条件在这个结果集中再根据条件进行过滤。

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 协方差公式推导_二维正态分布cov协方差公式

    协方差公式推导_二维正态分布cov协方差公式协方差公式推导cov(X,Y)=∑ni=1(Xi−X¯)(Yi−Y¯)n=E[(X−E[X])(Y−E[Y])]cov(X,Y)=\frac{\sum_{i=1}^{n}(X_i-\bar{X})(Y_i-\bar{Y})}{n}=E[(X-E[X])(Y-E[Y])]=E[XY−E[X]Y−XE[Y]+E[X]E[Y]]=E[XY-E[X]Y-XE[Y]+E[X]E[Y]]因为均值

    2025年8月18日
    2
  • Egret使用心得

    Egret使用心得转自:https://www.indienova.com/u/monkeybean/blogread/2188一、曾用工具介绍EgretEngine,个人使用引擎版本从1.7.3到3.1.4。Egret配套工具:1.界面排布及部分属性预设—EgretWing2.碎图压缩合成大图及MovieClip动画素材处理—TextureMerger3.资源管理—Re

    2025年7月16日
    4
  • CSS 换行_css不允许换行

    CSS 换行_css不允许换行1、强制换行word-break:break-all;/*只对英文起作用,以字母作为换行依据。如果该行末端有个很长的英文单词,它会把单词截断,一部分保持在行尾,另一部分换到下一行。*/word-wrap:break-word;/*只对英文起作用,以单词作为换行依据。如果该行末端宽度不够显示整个单词,它会自动把整个单词放到下一行,而不会把单词截断掉。*/white-space:pre-wrap;/*只对中文起作用,强制换行。*/2、禁止换行(单行文本截断)white-spac

    2025年7月30日
    2
  • WeakHashMap理解

    WeakHashMap理解一、什么是WeakHashMap?从名字可以得知主要和Map有关,不过还有一个Weak,我们就更能自然而然的想到这里面还牵扯到一种弱引用结构,因此想要彻底搞懂,我们还需要知道四种引用。如果你已经知道了,可以跳过。1、四种引用在jvm中,一个对象如果不再被使用就会被当做垃圾给回收掉,判断一个对象是否是垃圾,通常有两种方法:引用计数法和可达性分析法。不管是哪一种方法判断一个对象是否是垃圾的条件总是一个对象的引用是都没有了。JDK.1.2之后,Java对引用的概念进行了扩充,将引用分为了:强引

    2022年5月31日
    48
  • 网页服务器停止响应是什么意思_次数限制

    网页服务器停止响应是什么意思_次数限制1.根据以往的经验以为是缓冲池的缘故。于是我新建一个缓冲池之后(尽量大的配置)发现问题依旧2.修改查询语句 select*fromtable改成selecttop500*fromtable发现问题依旧 没有办法于是认真的查看程序 结果发现自己的低级错误少加一句rs.movenext加上之后问题解决  根据这次的问题心得是:1.发现问题先看看

    2022年10月21日
    1
  • 阅读书源最新2020在线导入_书源篇五「建议收藏」

    阅读书源最新2020在线导入_书源篇五「建议收藏」书源篇五爱阅书香语昨晚半夜发的书源,竟然把另一位同学的书源仓库给忘了,我的失误啊,已经自罚酒一杯,喝完再干三杯。新的书源仓库分别是『Liquor030』及『Mxy』同学,写法很厉害,虽然我设计了这一套规则,但怎么用,用得好,全靠各位同学自己创建的。被各位同学不断鞭策,才能不断的完善。让我们一起努力吧。书源及工作原理书源:一个网站的规则描述文件,可能包括有多个来源;…

    2022年6月15日
    286

发表回复

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

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