表的插入、更新、删除、合并操作 | 您所在的位置:网站首页 › 多个子表合并 › 表的插入、更新、删除、合并操作 |
表的插入、更新、删除、合并操作_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',1000BEGIN;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; 执行结果注:Oracle和SQL Server里暂未发现该语法. 赞 收藏 评论 分享 举报上一篇:表的插入、更新、删除、合并操作_16_ 删除表中所有记录 下一篇:表的插入、更新、删除、合并操作_17_按照条件删除表中记录 |
CopyRight 2018-2019 实验室设备网 版权所有 |