【SQL update 多表关联更新方法总结】
1. MySQL
update test1,test2
set test1.name=test2.name,test1.age=test2.age
where test1.id=test2.id
2. ORACLE
- 多表关联,更新全表中的某一字段
update test1
set (test1.name,test1.age)=
(select test2.name,test2.age from test2 where test2.id=test1.id)
- 多表关联,更新指定行的某一字段
UPDATE "DATA_HISTORY_copy2" t
set SHJG = (select m.SHJG from DATA_MONTHCOPY m where t.DWDM = m.DWDM and SUBSTR(t.SQSJ, 0, 8) = SUBSTR(m.SQSJ, 0, 8))
WHERE EXISTS (select t.* from "DATA_HISTORY_copy2" t,DATA_MONTHCOPY m where t.DWDM = m.DWDM and SUBSTR(t.SQSJ, 0, 8) = SUBSTR(m.SQSJ, 0, 8))
3. SQLServer
update test1
set test1.name=test2.name,test1.age=test2.age
from test1
inner join test2
on test1.id=test2.id
【SQL UNION 操作符】
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
SQL UNION 语法
SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2
注释:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。
SQL UNION ALL 语法
SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2
另外,UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名
本文介绍了SQL中处理多表关联更新的方法,包括MySQL、ORACLE和SQLServer的语法示例。同时,讲解了UNION操作符的使用,用于合并SELECT语句的结果集,以及UNIONALL在允许重复值时的应用。
1536

被折叠的 条评论
为什么被折叠?



