博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

SQL 语句汇总-With子句

Posted on 2007-07-09 11:46  徐正柱-  阅读(794)  评论(0编辑  收藏  举报
1.使用With 子句重用子查询
用于在sql多次使用相同的子查询时:
示例一、显示部门工资总和高于雇员工资总和三分之一的部门名及工资总和(两次相同子句)
  SQL> select dname,sum(sal) as dept_total  from emp,dept
             where emp.deptno=dept.deptno  group by dname
             having sum(sal)>
             (select sum(sal) *1/3 from emp,dept
             where emp.empno=dept.empno);

示例二、显示部门工资总和高于雇员工资总和三分之一的部门名及工资总和(使用with子句重用子查询)

        SQL> with summary as 
              (select dname,sum(sal) as dept_total  from emp,dept
                where emp.deptno=dept.deptno  group by dname
               )
               select dname,dept_total from summary dept_total>
               (select sum(dept_total)*1/3 from summary);