insert into (select empno,ename,sal,deptno from emp where deptno=30) values(1112,'abc',2000,30)等价于insert into emp(empno,ename,sal,deptno) values(1112,'abc',2000,30);至于为什么要这样写,可能跟你依据DEPTNO=30这个条件有关,但是个人不赞同这样写,因为你插入的栏位内层查询就知道是哪些了,为什么不直接用呢? 而且插入的DEPTNO值“30”给你内层查询条件的30没有关系的 也就是说,可以这样: insert into (select empno,ename,sal,deptno from emp where deptno=30) values(1112,'abc',2000,40)所以,此写法没什么为什么不为什么的此人拙见!
就跟正常的insert into emp(empno,ename,sal,deptno ) values(1112,'abc',2000,30)一样,没有什么本质的区别!
insert into (select empno,ename,sal,deptno from emp where deptno=30) values(1112,'abc',2000,30)等价于insert into emp(empno,ename,sal,deptno) values(1112,'abc',2000,30);
而且插入的DEPTNO值“30”给你内层查询条件的30没有关系的
也就是说,可以这样:
insert into (select empno,ename,sal,deptno from emp where deptno=30) values(1112,'abc',2000,40)所以,此写法没什么为什么不为什么的此人拙见!
就跟正常的insert into emp(empno,ename,sal,deptno ) values(1112,'abc',2000,30)一样,没有什么本质的区别!