ITPub博客

首页 > 数据库 > Oracle > 关于with 临时表 as的一些用法

关于with 临时表 as的一些用法

原创 Oracle 作者:记录每一次错误 时间:2018-10-09 17:03:18 0 删除 编辑

with  临时表  as   (select ........)

关于with     as  的用户在一下开发人员写的SQL语句有看到。说一下个人的理解

例如:

        with  a  as  (select *   from emp )   

select ename,deptno,sal,(select avg(sal) from a where   deptno=a.deptno)    asal  from a  e;

这个sql的使用with    as   是将表emp读到临时表空间中形成一个临时表a表,并且在下面的sql语句使用临时表a表,这样对表emp,只读一次(这里是全表扫,可以在SQL语句语句后边加where条件),后面的SQL语句

select ename,deptno,sal,(select avg(sal) from a where   deptno=a.deptno)    asal  from a  e;执行的时候将读临时表中的数据。

其中有一个问题,这样使用临时的表SQL语句的性能是否提高,这有待证明,这个SQL语句只是为了理解with  临时表  as .......没有注重SQL语句性能。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31547066/viewspace-2215768/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
性格开朗,有较强的学习能力,对oracle数据库的体系结构,搭建RAC,timesten,goldengate,分布式数据库,dataguard,系统调优有较深入的了解, 尤其是oracle优化,深入学习的主机命令,对数据库的优化,SQL语句的优化有深入的认识,目前正在shell脚本,mysql,以后会有计划学习大数据和python。

注册时间:2018-07-23

  • 博文量
    200
  • 访问量
    475047