前言

 可以把WITH AS 的用法看成赋值的用法,以减少SQL语句的冗余。当我们在SQL语句中频繁的利用某一个Select查询语句作为数据源时,我们可以用WITH AS 的用法进行简写增加了SQL的易读性,如果构造了多个子查询,结构会更清晰;更重要的是:“一次分析,多次使用”。

语法

with tempName1 as (select ....),tempName2 as (select ....)
select ...from  tempName 

例子

例子:

//普通使用方法
Select * from (select name ,age from stuunion select name,age from techunion…
)//wtih as
with schoolPeople as (select name ,age from stuunion select name,age from techunion…
)
select * from schoolPeople

注意事项

  • ① 子查询可重用相同或者前一个with查询块,通过select调用(with子句也只能被select调用)
  • ② with子句的查询输出存储到用户临时表空间,一次查询,到处使用
  • ③ 同级select前有多个查询定义,第一个用with,后面的不用with,并且用逗号分割
  • ④ 最后一个with查询块与下面的select调用之间不能用逗号分割,只通过右括号分离,with子句的查询必须括号括起
  • ⑤如果定义了with子句,而在查询中不使用,则会报ora-32035错误,只要后面有引用的即可,不一定在select调用,在后with查询块引用也是可以的
  • ⑥ 前面的with子句定义的查询在后面的with子句中可以使用,但是一个with子句内部不能嵌套with子句
  • ⑦ with查询的结果列有别名,引用时候必须使用别名或者*

Oracle WITH AS 用法相关推荐

  1. ORACLE的基础用法

    ORACLE的基础用法 转 自:http://blog.163.com/kelly_19831017/blog/static/6196787020083133348873/ sqlplus sys/o ...

  2. 常见Oracle HINT的用法

    1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化. 例如: SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_I ...

  3. LTRIM、RTRIM和TRIM在ORACLE中的用法:

    LTRIM.RTRIM和TRIM在ORACLE中的用法: 1.LTRIM(C1,C2) 其中C1和C2都可以字符串,例如C1是'Miss Liu',C2'MisL'等等.这是第一个和SQL SERVE ...

  4. oracle 实例用法,Oracle merge into用法以及相关例子示例

    以下的文章主要是对Oracle merge into用法以及相关例子的介绍,首先我们以Oracle 9I中加入MERGE入手,以下就是文章的具体内容的分析,希望你浏览完之后会给你带来一些帮助在此方面. ...

  5. oracle10 数据库审计,Oracle数据库审计用法实例

    本节是从ORACLE METALINK的DOC:167293.1翻译整理而来的.通过举例的方式来说明ORACLE审计的用法.ORACLE的审计可以从语句级.对象 本节是从Oracle METALINK ...

  6. ORACLE 中ROWNUM用法总结!

    ORACLE 中ROWNUM用法总结! 对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between...and,只能用以上符号(<.<=.!=) ...

  7. oracle中何时会用到join,Oracle中join用法的演示

    以下的文章主要介绍的是Oracle中join用法,如果你是其方面的新手,对Oracle中oin的实际用法很感兴趣,但是却找不到一些资料去对其进行更深入的了解的话,你不妨浏览以下的文章对其进行了解. O ...

  8. 常见 Oracle HINT 的用法

    Hint 是Oracle 提供的一种SQL语法,它允许用户在SQL语句中插入相关的语法,从而影响SQL的执行方式. Oracle 19c HINT  Comments https://docs.ora ...

  9. oracle别名as用法

    oracle别名as用法 1.在oracle中as的作用主要是为表中的字段添加别名.如下图 2.在命名别名的时候也可以区分大小写,不过要加双引号"",如果不加双引号只是首字母大写的 ...

  10. oracle中using用法,Oracle中Using用法

    Oracle中Using用法 1.静态SQLSQL与动态SQL Oracle编译PL/SQL程序块分为两个种:其一为前期联编(early binding),即SQL语句在程序编译期间就已经确定,大多数 ...

最新文章

  1. hexo部署云服务器的全过程
  2. 让电脑开机时直接登录
  3. Linux平台Makefile文件的编写基础篇和GCC参数详解
  4. Spring Security入门(3-4)Spring Security 异常处理、异常传递和异常获取
  5. 7-4 堆栈模拟队列 (25 分)
  6. java restsharp_C# RestSharp应用
  7. UI设计干货模板|首页设计技巧
  8. Bailian2886 能被3除尽的数之和【进制】
  9. DirectX12(D3D12)基础教程(十八)—— PBR基础从物理到艺术(中)
  10. 三菱FX3U 485ADP与东元TECO变频器N310通讯程序
  11. HTML5七夕情人节表白网页制作【圣诞节3d相册】HTML+CSS+JavaScript 圣诞节3D相册代码表白制作
  12. 三菱plc标准小程序,含昆仑通态触摸屏程序(触摸屏附带配方功能,项目功能完整
  13. 打开php网页中木马,常见PHP网页木马
  14. c语言资产管理系统设计报告,(C)固定资产管理系统论文
  15. ITIL规范(持续更新)
  16. 美联储数字货币最新进展
  17. MBA-day16 数学-应用题-集合问题-公式
  18. PocketPC中汉字输入法分析与实现(…
  19. 点或积分区域的对称性,积分结果的对称性
  20. 计算机考英语一数学二,这所院校初试科目调整为数一英一!又有专业计划停招!这些信息21考研人一定要知道!...

热门文章

  1. MacOS自带ssh+XQuartz连接OpenBSD6.5
  2. MGTV提取Ticket-保姆级教程
  3. HRT:使用Huge Pages进行低延迟优化
  4. 如何将win7电脑变身WIFI热点,让手机、笔记本共享上网?
  5. Docker容器内安装wkhtmltox用来html转pdf
  6. c 自动打印的服务器,C-Lodop云打印服务器 x64
  7. 用友BIP为企业降低创新壁垒,加速智能化进程
  8. 小米C++开发笔试真题
  9. HRESULT: 0x80070057 (E_INVALIDARG) 的处理
  10. 《学习如何学习》week3 3.1 Interview with Nelson Dellis