在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子查询中,这样后面的查询才会更快
分享到:
相关推荐
### Oracle数据库中的START WITH 和 CONNECT BY 用法详解 在Oracle数据库中,处理层次结构数据时,`START WITH` 和 `CONNECT BY` 是非常有用的两个关键字。这些关键字可以帮助我们在查询时构建出树形或者层级结构的...
Oracle 常用 SQL 语句汇总 Oracle 是一个功能强大且复杂的关系数据库管理系统,它提供了多种 SQL 语句来管理和操作数据库。在本文中,我们将详细介绍 Oracle 中常用的 SQL 语句,包括数据控制语句(DML)、数据定义...
根据提供的文件信息,我们可以深入探讨Oracle数据库中的...通过以上的详细介绍,我们已经了解了在Oracle数据库中如何创建序列、使用各种约束以及如何解锁用户的基本方法。这些技能对于维护和管理Oracle数据库至关重要。
在Oracle中,创建自增序列可以使用`CREATE SEQUENCE`语句,如创建一个名为`class_seq`的序列: ```sql CREATE SEQUENCE class_seq INCREMENT BY 1 START WITH 1 MAXVALUE 999999 NOCYCLE NOCACHE; ``` 然后,在插入...
- `SELECT`语句基本兼容,但Oracle的`WITH`子句在DB2中可能需要额外的语法调整。 - Oracle的`ROWNUM`用于行号,DB2则使用`ROW_NUMBER()`函数。 - 分区查询,Oracle的`PARTITION BY`在DB2中对应`WINDOW`函数。 4....
### Oracle万能查询语句详解 #### 一、概述 在Oracle数据库中,查询语句是数据检索的核心工具。本文将详细介绍一个复杂的Oracle查询语句,该语句涉及多个表的连接、序列、存储过程以及多表查询等相关知识点。通过...
本篇将深入探讨Oracle关于日期的查询语句及其相关知识点。 1. 数据类型: Oracle提供了多种日期和时间数据类型,包括DATE、TIMESTAMP、TIMESTAMP WITH TIME ZONE以及TIMESTAMP WITH LOCAL TIME ZONE。其中,DATE...
-- 这里使用了两个嵌套的select语句,但`TOP`关键字在Oracle中不支持。 -- 同时,注释部分表示可能原本打算使用的列名和排序方式。 -- 该代码存在明显的逻辑错误和语法问题。 -- 优化建议 WITH cte AS ( SELECT *,...
Oracle 是一种广泛使用的关系数据库管理系统,它提供了丰富的语句来操作和管理数据库。下面是 Oracle 的一些基本语句。 ### 创建用户 在 Oracle 中,创建用户需要使用 CREATE USER 语句,并且需要指定用户名、密码...
对于需重复查询的sql语句,可巧用with as 对sql语句进行精简,提高查询效率
以下是对标题"Oracle数据库语句大全"中涉及的一些核心知识点的详细说明: 一、数据库管理 1. **创建表空间**:Oracle数据库允许创建表空间以组织数据文件。`CREATE TABLESPACE`语句用于创建一个新的表空间,例如: ...
9. **分页**:`LIMIT`和`OFFSET`在某些数据库系统中用于实现数据分页,但Oracle使用`ROWNUM`或`FETCH NEXT`结合`WITH TIES`来实现类似功能。 10. **动态SQL**:允许在运行时构建和执行SQL语句,增强了SQL的灵活性,...
### Oracle常见语句详解 #### 一、连接与断开数据库 在操作Oracle数据库时,首先需要通过SQL*Plus工具连接到数据库。连接命令的基本格式为`sqlplus 用户名/密码@实例名`,例如`sqlplus scott/orcl@orcl`用于以scott...
我们都知道在9i之前,要想获得建表和索引的语句是一件很麻烦的事。我们可以通过 export with rows=no来得到,但它的输出因为格式的问题并不能...使用这个功能强大的工具,我们可以获得单个对象或整个SCHEMA 的DDL语句。
* 用 Transact-SQL 语句创建索引:使用 CREATE INDEX 语句创建索引,例如 CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name ON { table | view } ( column [ ASC | DESC ] [ ...n ] ) [ WITH [PAD_...
Oracle数据库是世界上最广泛使用的数据库系统之一,而PL/SQL则是Oracle特有的编程语言,用于处理数据库中的数据。在本文中,我们将深入探讨PL/SQL以及Oracle数据库中的一些常见实用语句。 PL/SQL全称为Procedural ...
### Oracle操作语句集锦详解 #### 一、Oracle 命令行工具与基本语法 **1. 启动 SQLPlus:** ```bash sqlplus /nolog ``` 此命令用于启动 SQLPlus 工具,不进行任何登录操作。 **2. 连接到数据库:** ```bash conn...
Oracle 下 WITH CHECK OPTION 用法 WITH CHECK OPTION 是 Oracle 中的一种视图定义选项,它可以确保数据库中正在修改的数据的完整性。该选项通常用在视图定义中,以确保任何引用该视图的 INSERT 或 UPDATE 语句都...
### Oracle数据库语句大全知识点详解 #### 一、完整性约束 在Oracle数据库中,为了确保数据的完整性和一致性,提供了多种约束机制。这些约束机制主要包括: - **NOT NULL(非空约束)**:用于禁止在指定列中插入...