时间:2021-05-24
下面我建两个表,并执行一系列sql语句,仔细观察sql执行后表中数据的变化,很容易就能理解多表联合更新的用法
student表 class表
1. 执行 UPDATE student s , class c SET s.class_name='test00',c.stu_name='test00' WHERE s.class_id = c.id
student表 class表
2. 执行 UPDATE student s JOIN class c ON s.class_id = c.id SET s.class_name='test11',c.stu_name='test11'
student表 class表
3. 执行 UPDATE student s LEFT JOIN class c ON s.class_id = c.id SET s.class_name='test22',c.stu_name='test22'
student表 class表
4. 执行 UPDATE student s RIGHT JOIN class c ON s.class_id = c.id SET s.class_name='test33',c.stu_name='test33'
student表 class表
5. 执行 UPDATE student s JOIN class c ON s.class_id = c.id SET s.class_name=c.name , c.stu_name=s.name
student表 class表
知识点补充:
mysql多表关联update
日常的开发中一般都是写的单表update语句,很少写多表关联的update。
不同于SQL Server,在MySQL中,update的多表连接更新和select的多表连接查询在使用的方法上存在一些小差异。
来看一个具体的例子。
update orders o left join users u on o.userId = u.idset o.userName = u.name;在上面的例子中,update关键字后跟的是一个多表关联的结果集,MySQL直接将这个多表关联的结果集看做一个单表,再在这个单表的基础上做常规的update操作。
和SQL Server的细小差别在于,SQL Server的set子句跟在要更新的具体表之后,MySQL的set语句则是跟在要更新的结果集之后(要更新的具体表在set语句中设置)。
总结
到此这篇关于Mysql update多表联合更新的方法小结的文章就介绍到这了,更多相关mysql update多表联合更新内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
update:单表的更新不用说了,两者一样,主要说说多表的更新复制代码代码如下:Oracle>Oracle的多表更新要求比较严格,所以有的时候不是很好写,我们可
前言MERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句。通过MERGE语句,根据一张表或多表联合查询的连接条件对另外一张表进行查
查询是数据库的核心,下面就为您介绍Mysql多表查询时如何实现的,如果您在Mysql多表查询方面遇到过问题,不妨一看。Mysql多表查询:复制代码代码如下:CR
1、model模型开启自动完成时间戳功能2、使用update方法更新User::update(['name'='安阳'],['id'=>1]);Thinkphp
OracleSQL语句中的Update可以和SEQUENCE联合使用,以达到更新某字段的值连续编号,而不需要使用游标去逐条遍历更新数据库记录。例如updates