oracle with as 语句
2016-05-04 11:06
519 查看
1、
Oracle with语句是经常可以见到的语句,下面就为您详细介绍Oracle with语句的用法,如果您对Oracle with语句感兴趣的话,不妨一看。
当查询中多次用到某一部分时,可以用Oracle with语句创建一个公共临时表。因为子查询在内存临时表中,避免了重复解析,所以执行效率会提高不少。临时表在一次查询结束自动清除。
一般语法格式:
with
alias_name1 as (subquery1),
alias_name2 as (subQuery2),
……
alias_nameN as (subQueryN)
select col1,col2…… col3
from alias_name1,alias_name2……,alias_nameN
Oracle with语句的例子:
SQL> WITH
Q1 AS (SELECT 3 + 5 S FROM DUAL),
Q2 AS (SELECT 3 * 5 M FROM DUAL),
Q3 AS (SELECT S, M, S + M, S * M FROM Q1, Q2)
SELECT * FROM Q3;
输出结果:
S M S+M S*M
---------- ---------- ---------- ----------
8 15 23 120
2、with 语句和时间
有时候我们需要查询出过去几天的数据,然后展示出来,那么使用with语句如何实现呢?
with t1 as (select to_date(‘sysdate’,'yyyy-mm-dd')-level+1 d from dual connect by level<? order by d
select aa
from t1 left join tb_member t2 on to_date(to_char(t1.d,'YYYY-mm-dd'),'yyyy-mm-dd')<t2.regist_time
group by to_char(t1.d,'YYYY-mm-dd') order by to_date(to_char(t1.d,'YYYY-mm-dd'),'yyyy-mm-dd'
其中的select后面是要查询的属性,?为要查询的天数
Oracle with语句是经常可以见到的语句,下面就为您详细介绍Oracle with语句的用法,如果您对Oracle with语句感兴趣的话,不妨一看。
当查询中多次用到某一部分时,可以用Oracle with语句创建一个公共临时表。因为子查询在内存临时表中,避免了重复解析,所以执行效率会提高不少。临时表在一次查询结束自动清除。
一般语法格式:
with
alias_name1 as (subquery1),
alias_name2 as (subQuery2),
……
alias_nameN as (subQueryN)
select col1,col2…… col3
from alias_name1,alias_name2……,alias_nameN
Oracle with语句的例子:
SQL> WITH
Q1 AS (SELECT 3 + 5 S FROM DUAL),
Q2 AS (SELECT 3 * 5 M FROM DUAL),
Q3 AS (SELECT S, M, S + M, S * M FROM Q1, Q2)
SELECT * FROM Q3;
输出结果:
S M S+M S*M
---------- ---------- ---------- ----------
8 15 23 120
2、with 语句和时间
有时候我们需要查询出过去几天的数据,然后展示出来,那么使用with语句如何实现呢?
with t1 as (select to_date(‘sysdate’,'yyyy-mm-dd')-level+1 d from dual connect by level<? order by d
select aa
from t1 left join tb_member t2 on to_date(to_char(t1.d,'YYYY-mm-dd'),'yyyy-mm-dd')<t2.regist_time
group by to_char(t1.d,'YYYY-mm-dd') order by to_date(to_char(t1.d,'YYYY-mm-dd'),'yyyy-mm-dd'
其中的select后面是要查询的属性,?为要查询的天数
相关文章推荐
- ORACLE 11G 导出报错(EXP-00003)未找到段 (0,0) 的存储定义
- 不小心删掉oracle数据库datafiles的dbf文件的解决办法
- Oracle执行计划、物化视图初探
- Oracle 11g笔记——控制文件
- Oracle 11g笔记——口令文件
- ORACLE死锁
- sqlserver中的substring用法,oracle的substr,js中的substring
- oracle中的decode的使用
- Oracle EBS 销售订单导出到Excel问题
- Oracle insert大量数据经验之谈
- oracle 11G 密码过期后修改方法
- oracle的常用函数 instr() 和 substr()函数
- oracle修改bdump日志存放路径
- oracle中的内连接和外连接区别
- oracle 自定义类型 type / create type
- 关于oracle 实例名大小写的问题
- Oracle中查看慢查询进度的脚本
- oracle细节(一)
- Oracle_Database_11g_标准版_企业版__下载地址_详细列表
- Oracle JDK的GC日志分析