表的插入、更新、删除、合并操作_14_ 通过表关联更新多个表多个字段
生活随笔
收集整理的這篇文章主要介紹了
表的插入、更新、删除、合并操作_14_ 通过表关联更新多个表多个字段
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
? ? ? ? ? ? ? ? ? ? ? ? ? ?通過表關(guān)聯(lián)更新多個表多個字段
需求描述
需求:更新emp表里的sal字段的值為temp表里的sal乘以1.5,同時更新temp表里ename為emp表里的值,匹配條件是兩個表的deptno.
解決方法:通過Update的多個set同時對不同表的不同字段進行更新。
注: 數(shù)據(jù)庫數(shù)據(jù)集SQL腳本詳見如下鏈接地址
員工表結(jié)構(gòu)和數(shù)據(jù)初始化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=7369 UNION SELECT empno,ename,sal,'From_temp' as Table_Name FROM temp WHERE empno=7369;UPDATE emp a,temp b SET a.sal=b.sal*1.5 ,b.ename=a.ename WHERE a.empno = b.empno;UPDATE emp a INNER JOIN temp b ON a.empno = b.empno SET a.sal=b.sal*1.5 ,b.ename=a.ename;SELECT empno,ename,sal,'From_emp' as Table_Name FROM emp WHERE empno=7369 UNION SELECT empno,ename,sal,'From_temp' as Table_Name FROM temp WHERE empno=7369;ROLLBACK;執(zhí)行結(jié)果
注:Oracle和SQL Server里暫未發(fā)現(xiàn)該語法.
總結(jié)
以上是生活随笔為你收集整理的表的插入、更新、删除、合并操作_14_ 通过表关联更新多个表多个字段的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 六盘水到楚雄有客车吗?
- 下一篇: 平江县汽车学校?