表的插入、更新、删除、合并操作 您所在的位置:网站首页 多个子表合并 表的插入、更新、删除、合并操作

表的插入、更新、删除、合并操作

2023-02-24 09:15| 来源: 网络整理| 查看: 265

表的插入、更新、删除、合并操作_14_ 通过表关联更新多个表多个字段 原创

Shen Liang 2023-02-20 16:32:08 博主文章分类:SQL案例 ©著作权

文章标签 mysql 数据分析 sql oracle 数据库 文章分类 Python 后端开发

©著作权归作者所有:来自51CTO博客作者Shen Liang的原创作品,请联系作者获取转载授权,否则将追究法律责任

                           通过表关联更新多个表多个字段需求描述

需求:更新emp表里的sal字段的值为temp表里的sal乘以1.5,同时更新temp表里ename为emp表里的值,匹配条件是两个表的deptno.

解决方法:通过Update的多个set同时对不同表的不同字段进行更新。

注: 数据库数据集SQL脚本详见如下链接地址

​​员工表结构和数据初始化SQL脚本​​

SQL代码-- Mysql:TRUNCATE TABLE temp;INSERT INTO temp(deptno,deptname,loc,empno,ename,sal)SELECT 50,'Production','Nanjing',7369,'SMITH2',1000

BEGIN;SELECT empno,ename,sal,'From_emp' as Table_Name FROM emp WHERE empno=7369UNIONSELECT empno,ename,sal,'From_temp' as Table_Name FROM temp WHERE empno=7369;

UPDATE emp a,temp bSET a.sal=b.sal*1.5 ,b.ename=a.enameWHERE a.empno = b.empno;

UPDATE emp aINNER JOIN temp bON a.empno = b.empnoSET a.sal=b.sal*1.5 ,b.ename=a.ename;

SELECT empno,ename,sal,'From_emp' as Table_Name FROM emp WHERE empno=7369UNIONSELECT empno,ename,sal,'From_temp' as Table_Name FROM temp WHERE empno=7369;

ROLLBACK;

执行结果

表的插入、更新、删除、合并操作_14_ 通过表关联更新多个表多个字段_oracle

注:Oracle和SQL Server里暂未发现该语法.

收藏 评论 分享 举报

上一篇:表的插入、更新、删除、合并操作_16_ 删除表中所有记录

下一篇:表的插入、更新、删除、合并操作_17_按照条件删除表中记录



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有