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)

相关推荐

  • 怎么用Python编写一个简单的游戏

    技术怎么用Python编写一个简单的游戏本篇内容介绍了“怎么用Python编写一个简单的游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅

    攻略 2021年10月20日
  • 如何使用纯java config来配置spring mvc方式

    技术如何使用纯java config来配置spring mvc方式这篇文章将为大家详细讲解有关如何使用纯java config来配置spring mvc方式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这

    攻略 2021年11月29日
  • javascript如何实现点击复制(javascript中向下复制快捷键)

    技术javascript怎么实现选中复制的功能这篇文章主要讲解了“javascript怎么实现选中复制的功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascri

    攻略 2021年12月21日
  • CentOS7

    技术CentOS7 CentOS7 – 快速查看系统日志
    1、CentOS7 – 快速查看系统日志
    https://baijiahao.baidu.com/sid=1615125260552254706

    礼包 2021年10月27日
  • 阳光型抑郁症,阳光抑郁症是什么

    技术阳光型抑郁症,阳光抑郁症是什么一阳光型抑郁症、什么是“阳光抑郁症”?“阳光抑郁症”就是把自己内心的郁闷、委屈、愤怒等真正的情绪都给隐藏起来,只向人展示自己比较阳光的一面,“表面上以笑脸迎人,症状有“幻想逃离现有环境”

    生活 2021年10月22日
  • 如何增加上一个和下一个按钮实现遍历分析?

    技术如何进行增加prev,next按钮实现问题的遍历分析如何进行增加prev,next按钮实现问题的遍历分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

    攻略 2021年12月18日