ORACLE WITH AS 用法

技术ORACLE WITH AS 用法 ORACLE WITH AS 用法With查询语句不是以select开始的,而是以“WITH”关键字开头 可认为在真正进行查询之前预先构造了一个临时表,之后便可多

带AS用法的ORACLE

查询语句WITH不是以select开头,而是以关键字“With”开头

可以认为是在实际查询之前预先构造了一个临时表,然后可以多次用于进一步的分析处理。

WITH子句方法的优点

增加了SQL的可读性,如果构造多个子查询,结构会更清晰;更重要的是“分析一次,使用多次”,这也是它提供性能,达到“少读”目标的原因。

第一种使用子查询的方法扫描表两次,而使用WITH子句的方法只扫描表一次。这可以大大提高数据分析和查询的效率。

此外,观察WITH子句方法的执行计划,其中“SYS_TEMP_XXXX”是运行过程中构建的中间统计结果的临时表。

语法:

以tempName为(选择.)

挑选.

-化名

tmp为(从tb_name中选择*

-对于多个别名

随着

tmp as(从tb_name中选择*),

tmp2 as(从tb_name2中选择*),

tmp3 as(从tb_name3中选择*),

-相当于建了一个E临时表。

带有e as(从scott.emp e中选择*其中e.empno=7499)

从e中选择*;

-相当于搭建临时表E和d。

随着

e as(从scott.emp中选择*),

d as(从scott.dept中选择*

从e、d中选择*其中e . dept no=d . dept no;

其实就是把很多重复使用的sql语句用as放进去,取一个别名,以后查询可以用它,这样优化了大量的sql语句,就清楚了。

作为向表中插入数据的用法:

插入表2

随着

s1 as(通过rownum=10从双连接中选择rownum c1),

s2 as(通过rownum=10从双连接中选择rownum c2)

从s1 a、s2 b中选择a.c1、b.c2,其中.

等同于虚拟视图。

With短语,也称为子查询因式分解,允许您做许多事情并定义一个sql片段,该片段将被整个sql语句使用。

有时,这是为了使sql语句更易读,或者它可能位于union的不同部分,都是提供数据的一部分。

对工会特别有用。

因为union的每个部分都可能是一样的,但是如果每个部分执行一次,成本太高,所以用as这个短语就可以了,所以只需要执行一次。

如果with as短语定义的表名被调用两次以上,优化器将自动将with as短语获得的数据放入临时表中,但如果只调用一次,则不会。

Prompt物化是将短语as中的数据强制放入全局临时表中。

这种方法可以加快许多查询的速度。

随着

sql1 as(从test_tempa中选择to_char(a) s_name),

sql2 as(从test_tempb中选择to_char(b) s_name,其中不存在(从sql1中选择s_name,其中rownum=1))

从sql1中选择*

联合所有

从sql2中选择*

联合所有

从dual中选择“无记录”

不存在的地方(从sql1中选择s_name,其中rownum=1)

并且不存在(从sql2中选择s_name,其中row num=1);

with as优点

增加了sql的可读性,如果构造多个子查询,结构会更清晰;

更重要的是“分析一次,使用多次”,这也是它提供性能,达到“少读”目标的原因。

转载:https://www.cnblogs.com/mingforyou/p/8295239.html

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/117965.html

(0)

相关推荐

  • nodejs官方模块是什么

    技术nodejs官方模块是什么这篇文章主要介绍了nodejs官方模块是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 no

    攻略 2021年11月11日
  • SQL基础的查询语句有哪些

    技术SQL基础的查询语句有哪些这篇文章主要介绍“SQL基础的查询语句有哪些”,在日常操作中,相信很多人在SQL基础的查询语句有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SQL基础的

    攻略 2021年11月10日
  • 条条大路通罗马下一句,条条大路通罗马出自谁的什么文章

    技术条条大路通罗马下一句,条条大路通罗马出自谁的什么文章“条条大路通罗马”原话是“All Roads Lead to Rome”条条大路通罗马下一句,这是一句谚语,出自《罗马典故》,是指做成一件事的方法不只一种,人生的路

    生活 2021年10月22日
  • excel标准差函数,excel怎么算标准差和方差

    技术excel标准差函数,excel怎么算标准差和方差在excel表格中,VARPA函数可以用于计算方差,STDEVPA函数可以用于计算标准差excel标准差函数。 参考工具和原料: 1.一台Windows7系统笔记本电

    2021年10月22日
  • 超全spark性能优化总结(spark常用调优参数)

    技术怎么进行Spark的性能调优怎么进行Spark的性能调优,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。0、背景集群部分 spark 任务执行很慢,且经常

    攻略 2021年12月17日
  • leetcode-211. 添加与搜索单词

    技术leetcode-211. 添加与搜索单词 leetcode-211. 添加与搜索单词 - 数据结构设计leetcode-211. 添加与搜索单词 - 数据结构设计
    题目:
    请你设计一个数据结构,支

    礼包 2021年10月20日