对于同一张表修改一批数据,等于另一批数据;或者对于两张表,修改A表一批数据,等于B表的一批数据。
oracle在这方面做到很好,SQL语法也比较简单,但Mysql做的不好,不是不能做,只是比较麻烦。
首先准备两张表:
emp: empno,ename,deptno,sal;(含义为员工编号,姓名,部门编号,工资)
myemp:myid,myname,deptno,sal; (含义为员工编号,姓名,部门编号,工资)
emp.empno 与 myemp.myid关联。
问题:
将emp表中 部门编号为10,主键empno等于myemp表中的myid,所有人员的【姓名,工资】批量同步过去,只能写一个语句。
下面是测试用的脚本:
SQL语句:
create table emp (
empno int(4),
ename varchar(50),
deptno varchar(5),
sal int(8)
)
create table myemp (
myid int(4),
myname varchar(50),
deptno varchar(5),
sal int(8)
)
)
insert into emp(empno,ename,deptno,sal) values ('1', '张三', &#