`
ioio
  • 浏览: 138217 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

oracle with 语句的用法

阅读更多

在oracle中,select 查询语句,可以使用with,就是一个子查询,oracle 会把子查询的结果放到临时表中,可以反复使用

例子:注意,这是sql语句,不是pl/sql语句, 可以直接放到jdbc执行的

-------------------------------------------------------------------------------------------------------------------

with

--入库信息,利用子查询,将数据预处理一次,这样数据就很少了, 下面可以很快的反复查rkxx,

rkxx as (select sz,zt,sum(se) se --税种,状态,税额

              from zsxx

              where rkrq between '2007-02' and '2007-06' --条件,统计日期

             group by sz,zt

              )

     select sk.sz,sk.se,fk.se,znj.se

             from (select sz,sum(se) se from rkxx --这里可以直接查询with子查询的结果rkxx

                       where zt='01'

                        group by sz) sk,--税款

                     (select sz,sum(se) se from rkxx

                       where zt='02'

                        group by sz) fk,--罚款

                        (select sz,sum(se) se from rkxx

                       where zt='03

                        group by sz) znj --滞纳金

              where sk.sz=fk.sz

                  and sk.sz=znj.sz

 

-----------------------------------------------------------------------------------------------------------------------

 

这样,经过with预先处理好数据,然后再在处理好的数据上做查询分析,不用再访问原始表, 这样效率是很高的

注意,预先处理好的数据,一定要少, 可以把条件尽可能的加到with子查询中,这样后面的查询才会更快

分享到:
评论

相关推荐

    巧用with as 对sql语句多次利用

    对于需重复查询的sql语句,可巧用with as 对sql语句进行精简,提高查询效率

    Oracle中轻松取得建表和索引的DDL语句

    我们都知道在9i之前,要想获得建表和索引的语句是一件很麻烦的事。我们可以通过 export with rows=no来得到,但它的输出因为格式的问题并不能...使用这个功能强大的工具,我们可以获得单个对象或整个SCHEMA 的DDL语句。

    Apress Oracle SQL Tuning with Oracle SQLTXPLAIN 2013

    Apress出版的使用SQLTXPLAIN对oracle SQL语句进行优化的经典图书

    oracle while的用法示例分享

    当查询中多次用到某一部分时,可以用Oracle with语句创建一个公共临时表。因为子查询在内存临时表中,避免了重复解析,所以执行效率会提高不少。临时表在一次查询结束自动清除。 一般语法格式: 代码如下:with ...

    Oracle轻松取得建表和索引的DDL语句

    在Oracle 9i中,我们可以直接通过执行dbms_metadata从数据字典中查处DDL语句。使用这个功能强大的工具,我们可以获得单个对象或整个SCHEMA的DDL语句。最好不过的是因为它使用起来很简单。 1、获得单个表和索引DDL...

    Oracle数据库SQL基本应用与介绍

    Oracle不仅可以通过基本的sql进行简单的数据操作,还可使用对标准sql进行了扩展的PL/SQL语言,可使用如IF…THEN…、WHILE、LOOP等同结构化程序语言一样的构造制作程序,还有制作函数、过程、触发器等也用PL/SQL语言...

    Oracle高级sql学习与练习

    3、WITH字句 4、MERGE INFO 合并资料 5、层次查询(HIERARICAL RETRIVEL) 6、DECODE函数和行列互换 7、CASE表达式 8、ROWNUM-TOP-N分析 9、相关子查询和非相关子查询 10、增强GROUP BY 11、分析函数(ANALYTICAL ...

    Oracle9i取得建表和索引的DDL语句

    正在看的ORACLE教程是:Oracle9i取得建表和索引的DDL语句。我们都知道在9i之前,要想获得建表和索引的语句是一件很麻烦的事。...使用这个功能强大的工具,我们可以获得单个对象或整个SCHEMA的DDL语句

    21天学通Oracle

    第15章 Oracle中的控制语句(教学视频:16分钟) 282 第16章 SQL查询(教学视频:55分钟) 290 第17章 SQL更新数据(教学视频:34分钟) 319 第四篇 Oracle编程高级应用 第18章 数据库速度优化与数据完整性...

    Oracle 9i轻松取得建表和索引的DDL语句

    正在看的ORACLE教程是:Oracle 9i轻松取得建表和索引的DDL语句。我们都知道在9i之前,要想获得建表和索引的语句是一件很麻烦的事。我们通常的做法都是通过export with rows=no来得到,但它的输出因为格式的问题并不...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    其一、就业面广:全球前100强企业99家都在使用ORACLE相关技术,中国政府机构,大中型企事业单位都能有ORACLE技术的工程师岗位。 其二、技术层次深:如果期望进入IT服务或者产品公司(类似毕博、DELL、IBM等),...

    Oracle 主要配置文件介绍

    如下所示 忽略以#开头的注释部分 : cams:/u01/app/oracle/product/8.1.7:Y 其中 cams 为实例 ID /u01/app/oracle/product/8.1.7为 ORACLE_HOME目 录 Y表示允许使用 dbstart和 dbshut 启动和关闭该实例...

    韩顺平oracle学习笔记

    概述:在oracle中要创建一个新的用户使用create user语句,一般是具有dba(数据库管理员)的权限才能使用。 create user 用户名 identified by 密码; 2.给用户修改密码 概述:如果给自己修改密码可以直接使用 sql>...

    最全的oracle常用命令大全.txt

    ORA-01035: ORACLE 只允许具有 RESTRICTED SESSION 权限的用户使用 6、startup force 强制启动方式 当不能关闭数据库时,可以用startup force来完成数据库的关闭 先关闭数据库,再执行正常启动数据库命令 7、...

    Oracle自学(学习)材料 (共18章 偏理论一点)

    2 Oracle 服务器入门 目标 2-2 数据库管理工具 2-3 Oracle 通用安装程序 2-4 交互式安装 2-5 使用反应文件的非交互式安装 2-6 Oracle 数据库配置助手 2-8 最优灵活体系结构(OFA) 2-9 Oracle 软件和文件位置 2-10 ...

    获取top前10个Oracle的进程(支持多实例)

    A、提供Socket侦听,使用telnet直接可以查看 B、提供telnet扩展命令,直接查看性能与语句 C、支持远程进行的直接Kill功能 D、支持SQL直接执行相关请求,并返回结果 E、提供REST外部请求服务功能 [root@fj43 ...

    oracle 下WITH CHECK OPTION用法

    如果视图定义包括条件(譬如 WHERE 子句)并且其意图是确保任何引用该视图的 INSERT 或 UPDATE 语句都应用 WHERE 子句,则必须使用 WITH CHECK OPTION 定义该视图。这个选项可以确保数据库中正在修改的...

    Oracle层次查询和with函数的使用示例

    下面我跟大家分享下我的心得,也就是基于这种设计怎么做数形图,简单的做法就是查询出一个list集合就可以,要怎么办呢先来看下我的数据表 不难看出部门之间用fparent关联,那sql语句怎么写呢,下面是一种偷懒的写法 ...

    OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053)--详细书签版(第2/2部分)

    原书名: OCA/OCP Oracle Database 11g All-in-One Exam Guide with CD-ROM: Exams 1Z0-051, 1Z0-052, 1Z0-053 原出版社: McGraw-Hill Osborne Media 作者: (美)John Watson Roopesh Ramklass Bob Bryla 译者: ...

Global site tag (gtag.js) - Google Analytics