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)

相关推荐

  • Java关键字和保留字是什么

    技术Java关键字和保留字是什么这篇文章主要讲解了“Java关键字和保留字是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java关键字和保留字是什么”吧!  1、访

    攻略 2021年11月4日
  • Python导入模块成员的方式有哪些

    技术Python导入模块成员的方式有哪些这篇文章主要讲解了“Python导入模块成员的方式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python导入模块成员的方

    2021年11月25日
  • Vue动态绑定类时要如何避免出现空类情况

    技术Vue动态绑定类时要如何避免出现空类情况这篇文章主要为大家展示了“Vue动态绑定类时要如何避免出现空类情况”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue动态绑定类时

    攻略 2021年12月9日
  • 模拟体育竟技分析

    技术模拟体育竟技分析 模拟体育竟技分析from random import randomdef printInfo(): # 打印程序介绍信息 print('模拟体育竟技分析--乒乓球比赛规则-

    礼包 2021年11月13日
  • MySQL中MERGE表的优缺点有哪些

    技术MySQL中MERGE表的优缺点有哪些这篇文章将为大家详细讲解有关MySQL中MERGE表的优缺点有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。MERGE表的优点:1.简单管

    攻略 2021年11月1日
  • python实现中心极限定理(用python求极限limit)

    技术Python怎么实现中心极限定律这篇文章主要讲解了“Python怎么实现中心极限定律”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python怎么实现中心极限定律”吧

    攻略 2021年12月21日