Atitit.mysql  oracle with as模式临时表模式 CTE 语句的使用,减少子查询的结构性 mssql sql server..

1. with ... as (...) 在mysql中应该如何表示 1

2. 子查询和查询嵌套主要是便于可读性提升上, 2

3. MYSQL中的解决之道::临时表。 2

4. Seo黑头关键字替换链接的统计样品 2

4.1. //---------查询com网站的数量 2

4.2. //----------------------查询net网站的数量 2

4.3. ---------------联合统计 3

5. with as + materialize是一种强制进行子查询先执行的好办法。 3

1. with ... as (...) 在mysql中应该如何表示

SQL语句是关系型数据库最直接也是最普遍的数据访问、操作方式。应该说,RDBMS的成功因素之中,SQL语言标准的推广有不可磨灭的功劳。Oracle、SQL Server和DB2等主流数据库都是在标准SQL的基础上,加以个性化拓展,实现高效的数据库应用。

with as是Oracle SQL语系里面经常使用到的一种语句结构。特别是在一些数据仓库挖掘系统中,SQL语句结构和嵌套结构是很复杂的。with as可以帮助我们简化语句结构,提高语句可读性,另外还可以提升语句执行计划控制性。

Oracle 9i 新增WITH语法,可以将查询中的子查询命名,放到SELECT语句的最前面。

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

Db2,mssql,oracle 都支持with ... as 的使用..

2. 子查询和查询嵌套主要是便于可读性提升上,

绝大多数的子查询和嵌套,都可以通过一系列的连接来完成。而数据库系统是擅长连接操作的

3. MYSQL中的解决之道::临时表。

可以在MYSQL官方手册中查阅一下MYSQL临时表的创建使用。

4. Seo黑头关键字替换链接的统计样品

4.1. //---------查询com网站的数量

DROP TEMPORARY TABLE

IF EXISTS tmp_table;

CREATE TEMPORARY TABLE tmp_table SELECT

SUBSTR(url, 1, LOCATE('.com', url) + 3) AS domain

FROM

link_big

WHERE

LOCATE('.com', url) > 0;

4.2. //----------------------查询net网站的数量

DROP TEMPORARY TABLE

IF EXISTS tmp_table2;

CREATE TEMPORARY TABLE tmp_table2

SELECT

SUBSTR(url, 1, LOCATE('.net', url) + 3) AS domain

FROM

link_big

WHERE

LOCATE('.net', url) > 0;

4.3. ---------------联合统计

SELECT

count(*),

domain

FROM

tmp_table

GROUP BY

domain

UNION

SELECT

count(*),

domain

FROM

tmp_table2

GROUP BY

domain

5. with as + materialize是一种强制进行子查询先执行的好办法。

综合上面的讨论,我们可以得到with as应用的条件和好处。总体上看,with as可以带来两方面的好处。第一是语句清晰度上,将原有的复杂子查询内容拆解为若干语句块,提高了可读性。第二是对于自动临时表,可以将子查询数据先检索出来,在内存中进行组织连接。

最后我们想讨论一下对于subquery unnested特性。大多数情况下,我们认为Oracle这个特性是可以生成更好地执行计划的。但是,在实践中我们也的确发现过很多这样的场景:子查询速度很快、数据量也不大,但是连接之后速度变慢,结果是发现执行计划中子查询被打开。

默认情况下,Oracle在估算多条件语句结果集数量的时候,是有“计算偏小”的特性的。也就是估算的结果集数量要小于实际数量,这个是由于默认统计量没有考虑列相关性的原因。所以,大部分查询展开都是被通过的。

如果出现这样的情况,with as + materialize是一种强制进行子查询先执行的好办法。

参考

mysql 创建与删除临时表sql语句-mysql教程-数据库-壹聚教程网.htm

从五个SQL看with as使用-realkid4-ITPUB博客.htm

Atitit.mysql oracle with as模式临时表模式 CTE 语句的使用,减少子查询的结构性 mssql sql server..相关推荐

  1. mysql管理工具dg_C#操作SqlServer MySql Oracle通用帮助类Db_Helper_DG(默认支持数据库读写分离、查询结果实体映射ORM)...

    1 /*********************************************************2 * CopyRight: QIXIAO CODE BUILDER.3 * V ...

  2. C#操作SqlServer MySql Oracle通用帮助类Db_Helper_DG(默认支持数据库读写分离、查询结果实体映射ORM)

    转载出处:https://www.cnblogs.com/7tiny/p/7602808.html(仅供个人学习记录) [前言] 作为一款成熟的面向对象高级编程语言,C#在ADO.Net的支持上已然是 ...

  3. C#操作SqlServer MySql Oracle通用帮助类Db_Helper_DG(默认支持数据库读写分离、查询结果实体映射ORM)...

    [前言] 作为一款成熟的面向对象高级编程语言,C#在ADO.Net的支持上已然是做的很成熟,我们可以方便地调用ADO.Net操作各类关系型数据库,在使用了多年的Sql_Helper_DG后,由于项目需 ...

  4. pgsql vs mysql查询_对比平台--SQL Server Vs PostgreSQL

    Microsoft SQL Server是一个数据库管理和分析系统,主要用于电子商务,业务范围和不同的数据仓库解决方案.另一方面,PostgreSQL是高级的对象关系数据库管理系统,它为SQL标准的扩 ...

  5. SQL Server 和 Oracle 以及 MySQL 的区别

    SQL Server 和 Oracle 以及 MySQL 的区别 历史说明区别 > Oracle: 中文译作甲骨文,成立于1977年,早期的理论基础,反而来自于一篇IBM的论文<A Rel ...

  6. iBatis自动生成的主键 (Oracle,MS Sql Server,MySQL)【转】

    iBatis的sqlMap配置文件的selectKey元素有个type属性,可以指定pre或者post表示前生成(pre)还是后生成(post). Oracle设置 Xml代码   <!-- O ...

  7. ibatis中主键自动增长(Oracle,Ms sql server ,mysql)

    http://morning2008.iteye.com/blog/611528 iBatis的sqlMap配置文件的selectKey元素有个type属性,可以指定pre或者post表示前生成(pr ...

  8. SQL Server 2019中的行模式内存授予反馈

    In this article, I'll be exploring another new feature with SQL Server 2019, row mode memory grant f ...

  9. 基于SQL Server策略的管理-更改时评估模式

    SQL Server Policy Based Management – evaluating policies on multiple SQL Server instances article. 基 ...

  10. SQL Server数据库单用户模式设置

    将数据库设置为单用户模式 单用户模式是指只有一个用户可以访问某个资源的状态. SQL Server数据库单用户模式设置 在进行一些数据库操作时,需要先把数据库设置为单用户模式,操作完成后再改回普通模式 ...

最新文章

  1. 面试必问---Java线程池8大拒绝策略
  2. Hadoop数据收集与入库系统Flume与Sqoop
  3. python使用input函数时、必须添加提示文字-Python基础教程(4)使用input函数实现用户交互...
  4. postmethod 设置request body utf-8_Cypress系列(62) request() 命令详解
  5. 深入理解Spring系列之一:开篇
  6. Sentinel(十八)之注解支持
  7. 【kafka】关于Kafka Fetch Session的讨论
  8. EmbarassedBirds全体开发人员落泪
  9. 使用Lua 局部变量来优化性能,同一时候比較局部变量和全局变量
  10. 淘宝联盟 推广链接 API取链 转链报错 传入参数错误,请检查adzone_id是否属于appkey拥有者
  11. linux中级之lvs配置(命令)
  12. 长方形旋转html5,HTML5/SVG旋转长方形来得到六边形图案
  13. delphi 的GetTickCount计时用法缺陷及管制
  14. MATLAB拟合函数
  15. ubuntu16安装liteide
  16. EXCEL电子档色环电阻计算器
  17. 【数据可视化】数据之美---揭密优雅的数据解决方案背后的故事
  18. 50和学习c/c++优秀网站
  19. 多播 - 理解IP多播的工作原理
  20. Revit插件技巧:出图插件一键“洞口标注”和一键“洞口定位”

热门文章

  1. vim配置关于 map nmap vmap等
  2. 浅谈javascript的运行机制
  3. SpringMVC 参数传递
  4. Java:转换汉字为unicode形式的字符串和转换unicode形式字符串转换成汉字
  5. 64位win8系统加64位sql server 2008,性能提高了好多
  6. Libvirt虚拟机网络配置
  7. 4月第三周网络安全报告:发现放马站点域名437个
  8. 金山毒霸2006真正升级第4版--目前最完美版本!
  9. ubuntu部署django详细教程
  10. mysql数据库操作语句整合