一直以来很少在SQL中使用过with  as  的用法,现在打算记录这条语句的使用方法。

WITH AS短语,也叫做子查询部分(subquery factoring),是用来定义一个SQL片断,该SQL片断会被整个SQL语句所用到。这个语句算是公用表表达式(CTE)。

比如

with A as (select * from class)

select *from A

这个语句的意思就是,先执行select * from class   得到一个结果,将这个结果记录为A  ,在执行select *from A  语句。A 表只是一个别名。

也就是将重复用到的大批量 的SQL语句,放到with  as 中,加一个别名,在后面用到的时候就可以直接用。

对于大批量的SQL数据,起到优化的作用。

二、with的相关总结(摘录别人博客)
1.使用with子句可以让子查询重用相同的with查询块,通过select调用(with子句只能被select查询块引用),一般在with查询用到多次情况下。在引用的select语句之前定义,同级只能定义with关键字只能使用一次,多个用逗号分割。

2.with子句的返回结果存到用户的临时表空间中,只做一次查询,反复使用,提高效率。

3.在同级select前有多个查询定义的时候,第1个用with,后面的不用with,并且用逗号隔开。

4.最后一个with 子句与下面的查询之间不能有逗号,只通过右括号分割,with 子句的查询必须用括号括起来

5.如果定义了with子句,而在查询中不使用,那么会报ora-32035 错误:未引用在with子句中定义的查询名。(至少一个with查询的name未被引用,解决方法是移除未被引用的with查询),注意:只要后面有引用的就可以,不一定非要在主查询中引用,比如后面的with查询也引用了,也是可以的。

6.前面的with子句定义的查询在后面的with子句中可以使用。但是一个with子句内部不能嵌套with子句。

7.当一个查询块名字和一个表名或其他的对象相同时,解析器从内向外搜索,优先使用子查询块名字。

8.with查询的结果列有别名,引用的时候必须使用别名或*。

SQL语句 with as 用法相关推荐

  1. SQL语句 SELECT LIKE用法详解

    在SQL结构化查询语言中,LIKE语句有着至关重要的作用. LIKE语句的语法格式是:select * from 表名 where 字段名 like 对应值(子串),它主要是针对字符型字段的,它的作用 ...

  2. 总结一下SQL语句中引号(')、quotedstr()、('')、format()在SQL语句中的用法

    总结一下SQL语句中引号(').quotedstr().('').format()在SQL语句中的用法以 及SQL语句中日期格式的表示(#).('') 在Delphi中进行字符变量连接相加时单引号用( ...

  3. (转载)总结一下SQL语句中引号(')、quotedstr()、('')、format()在SQL语句中的用法...

    总结一下SQL语句中引号(').quotedstr().('').format()在SQL语句中的用法 总结一下SQL语句中引号(').quotedstr().('').format()在SQL语句中 ...

  4. SQL语句中引号(')、quotedstr()、('')、format()在SQL语句中的用法

    总结一下SQL语句中引号(').quotedstr().('').format()在SQL语句中的用法总结一下SQL语句中引号(').quotedstr().('').format()在SQL语句中的 ...

  5. sql语句中exists用法详解

    文章目录 一.语法说明 exists: not exists: 二.常用示例说明 1.查询a表在b表中存在数据 2.查询a表在b表中不存在数据 3.查询时间最新记录 4.exists替代distinc ...

  6. 总结一下SQL语句中引号()、quotedstr()、()、format()在SQL语句中的用法

    View Code 总结一下SQL语句中引号('').quotedstr().('''').format()在SQL语句中的用法以及SQL语句中日期格式的表示(#).('''')在Delphi中进行字 ...

  7. delphi去掉字段前后的引号_Delphi编程SQL语句中引号(')、quotedstr()、('')、format()在SQL语句中的用法...

    Delphi编程SQL语句中引号(').quotedstr().('').format()在SQL语句中的用法 (2011-06-23 12:14:13) 标签: delphi编程 sql语句引号 q ...

  8. (转载)总结一下SQL语句中引号(')、quotedstr()、('')、format()在SQL语句中的用法

    总结一下SQL语句中引号(').quotedstr().('').format()在SQL语句中的用法以 及SQL语句中日期格式的表示(#).('') 在Delphi中进行字符变量连接相加时单引号用( ...

  9. sql语句中with用法

    with嵌套子查询用法 在比较复杂,数据量大的情况下,为了提高查询效率,需要用到一些子查询.一层一层嵌套的子查询不方便,显得sql语句比较繁琐.可以用 with语句 构建临时表查询:具体用法如下: - ...

最新文章

  1. 机器学习算法与理论用到的数学知识
  2. 松耦合和紧耦合的架构设计、性能对比
  3. 【网络安全威胁】企业风险远不止勒索软件,盘点当今企业面临的四种安全威胁
  4. 【opencv4】opencv教程 C++ 4、Mat对象(深拷贝:clone()、copyTo(),create()创建图片,zeros()、eye()初始化空白图像,Scalar()创建向量)
  5. 【JAVA并发编程实战】3、同步容器
  6. 为什么你设计的网页不够惊艳?
  7. 5. soapui 测试
  8. 中学生计算机制作大赛作品,“全国中小学电脑制作大赛”全校征集啦!
  9. 有实用简单的PS小技巧吗?下面几个小技巧你知道几个呢?
  10. 女程序员写代码被骂,把领导萌死,成功治愈“选择困难症”
  11. 每天看一个fortran文件(2)
  12. 上一页 1 2 3 ... 10 下一页 固定分页
  13. 剑指offer中使用辅助栈方法的题目的整理(待更)
  14. VS 2017 解决 C2001错误 常量中有换行符
  15. 用一条SQL 语句 查询出每门课都大于80 分的学生姓名
  16. 牛客网刷题-java
  17. python 制作抽奖_python制作抽奖程序代码详解
  18. 3.7V锂电池充电详解
  19. 混音 文件 生成 linux,linux 混音
  20. 特别策划|5G最新进展深度解析2022版—技术篇(71页附下载)

热门文章

  1. 巩固存储芯片业务之余,三星正努力拓展芯片新业务
  2. 算法001:合并两个有序的数组
  3. php laravel 抢红包防止并发(超卖也是同理)
  4. 老旧无线路由器的妙用
  5. druiddatasource java_Druid连接池一个设置引发的血案
  6. 如何建立好客户信任关系?
  7. eclipse 导出可运行jar包时三种Library handling的区别
  8. 5款全平台通用的思维导图软,你用过哪款?
  9. JDBCC3P0连接池Druid连接池
  10. 红宝书:在html中使用script章节总结