oracle使用子查询插入和修改数据

使用子查询插入数据:

示例一:insert into employee (empno,ename,sal,deptno)

           select empno,ename,sal,deptno from emp

          where deptno=20;

示例二:insert /*+APPEND*/ into employee (empno,ename,sal,deptno)

           select empno,ename,sal,deptno from emp

          where deptno=20;

尽管执行结果一样,但第二条语句使用/*+APPEND*/来表示采用直接装载方法可以使执行速度加快。

使用子查询修改数据:

示例一:select job,sal,comm from emp where ename='SMITH';

           update emp set job='check',sal=2200,comm=200

           where ename='SCOTT';

示例二:update emp set (job,sal,comm)=(

           select job,sal,comm from emp where ename='SMITH')

           where ename='SCOTT';

这个例子说的是:使雇员SCOTT的岗位、工资、补助与雇员SMITH的完全相同。这时候使用子查询只需要编写一条sql语句就可以完成任务,从而降低了网络开销。

你可能感兴趣的:(oracle)