使用子查询插入数据:
示例一: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语句就可以完成任务,从而降低了网络开销。