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. atitit。mssql sql server 转换mysql 及 分页sql ast的搭建

    atitit.mssql sql server 转换mysql  及 分页sql ast的搭建 1. 主要的的转换::函数的转换,分页的转换 1 2. 思路::mssql sql >>as ...

  2. Atitit.数据库新特性战略规划 mssql sql server 2008 SQL2012 SQL2014

    Atitit.数据库新特性 mssql sql server 2008 SQL2012 SQL2014 1. Sql2012 新特性 1 1.1. 增加了Sequence对象. 1 1.2. 新的分页 ...

  3. piap.excel 微软 时间戳转换mssql sql server文件时间戳转换unix 导入mysql

    piap.excel 微软 时间戳转换mssql sql server文件时间戳转换unix 导入mysql 需要不个mssql的sql文件导入mysql.他们的时间戳格式不同..ms用的是自定义的时 ...

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

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

  5. 数据库连接池配置 - Oracle,SQL Server,DB2,MYSQL,SQLLITE3

    ################## 数据库连接配置 ################## #Oracle#hibernate.connection.driverClass=oracle.jdbc.d ...

  6. Oracle、Mysql、Sql Server语句的区别

    1.空值的处理——判断是否为空,为空时取一个值,不为空时取另一个值 1).Sql Server 中 ISNULL(check_expression,replacement_value) 解释:如果ch ...

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

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

  8. SQL Server设置登录验证模式

    我们在安装SQL Server的时候可以设置“混合验证模式”,既可以使用windows身份验证登录,也可以使用SQL Server身份验证登录. 如果我们在安装的时候并未设置"混合验证模式& ...

  9. spring + mybatis + mysql/oracle开发

    1)创建一个spring-mybatis-mysql这么一个javaweb或java工程 2)导入spring-ioc,spring-aop,spring-transaction,mybatis,c3 ...

随机推荐

  1. JPA入门样例(採用JPA的hibernate实现版本号)

    (1).JPA介绍: JPA全称为Java Persistence API ,Java持久化API是Sun公司在Java EE 5规范中提出的Java持久化接口.JPA吸取了眼下Java持久化技术的长 ...

  2. POJ 3069 Saruman&#39;s Army

    Saruman's Army Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6688   Accepted: 3424 De ...

  3. 数学图形(2.5)Loxodrome曲线

    这也是一种贴在球上的曲线 #http://www.mathcurve.com/courbes3d/loxodromie/sphereloxodromie.shtml vertices = 1000 t ...

  4. [置顶] CSS语言精粹

    本文主要是对CSS中一些比较重要的高级部分作了一些整理,这些内容也许不是经常使用,但是都很强大.本文将长期更新. 边框 CSS2.1 规定:元素的背景是内容.内边距和边框区的背景.设置背景颜色时是没有 ...

  5. [Big Data] Week 5 A (Advance)

    Question 1 Consider the diagonal matrix M = 1 0 0 0 2 0 0 0 0 . Compute its Moore-Penrose pseudoinve ...

  6. CSDN日报20170404 ——《不不过写代码,而是完毕作品》

    [程序人生]不不过写代码,而是完毕作品 作者:瞬息之间 近来有人问起,如今似乎真得变成了码农,日出而作,日落而息.整天不停的写代码,开发业务需求,周而复始,日子长了,感到厌倦. 有时回忆,应该在过去的 ...

  7. 国内站点经常使用的一些 CDN 静态资源公共库加速服务

    web开发人员们的福利来了..旨在为大家提供更快很多其它更好的静态资源库的CDN载入库方案! CDN公共库是指将经常使用的JS库存放在CDN节点,以方便广大开发人员直接调用. 与将JS库存放在serv ...

  8. CSS基础和布局复习

    table布局 div布局优势   浏览器支持完善   表现和结构分离   样式设计控制功能强大   可以继承,层叠处理 Transitional // 松散过度型 Strict //严格型 Fram ...

  9. 用thinkphp连接mysql数据库

    一.设置mysql数据库的参数 thinkphp\Application\Home\Conf\config.php <?php return array( //'配置项'=>'配置值' ' ...

  10. MySQL截取字符串函数方法

    函数: 1.从左开始截取字符串 left(str, length) 说明:left(被截取字段,截取长度) 例:select left(content,200) as abstract from my ...