时间:2021-07-01 10:21:17 帮助过:64人阅读
本文目录 因为工作和变懒了的原因,已经有一段时间没来更新自己的博客了,颇感内疚。前不久读到一本好书《Inside Microsoft SQL Server 2008: T-SQL Querying》,深受启发,所以决定认认真真的总结一下其中的精彩篇章,以馈园友。其实我想应该也有不少人读到
本文目录
因为工作和变懒了的原因,已经有一段时间没来更新自己的博客了,颇感内疚。前不久读到一本好书《Inside Microsoft SQL Server 2008: T-SQL Querying》,深受启发,所以决定认认真真的总结一下其中的精彩篇章,以馈园友。其实我想应该也有不少人读到了这本书,我甚至看到了另外一个园友发表过博文作过类似的总结,反响很好。所以,还是决定把这篇文章发表出来,力求在前面的文章中有所改进和补遗。好了,闲话少说,网站空间,开始我们的SQL查询解析之旅吧。
引言千里之行,始于足下。纵观各个领域的专家大牛,你会发现他们都有一个共同的特点:对基础的深刻理解和掌握。这很容易理解,如果基础不牢固,那么很多事情就会流于表面。同时这也很容易被忽视,网站空间,多数时候我们只会被那些漂亮的包装所吸引,而没有去探究其背后的知识与原理。但如果你想真正的精通一门专业,那么我们就必须基于对基础知识的深刻理解,通过进一步学习来获得专业的知识和技巧。
今天我想和大家讨论的就是T-SQL查询的基础与本质:逻辑查询的处理。理解SQL查询的处理至关重要,它为我们揭示了查询处理的本质,香港服务器,让我们了解到,SQL编程和其他编程语言的区别有多么巨大。
SQL编程有很多特别的方面,比如用集合的方式来思考、查询元素的逻辑处理顺序和三值逻辑。如果不了解这些知识,那么通常你就会写出冗长、低效、难于维护的代码。本文的目的就是希望帮助你用正确的方式去理解SQL。
SQL逻辑查询处理阶段简介本节详细介绍SQL的逻辑查询步骤,当我们需要回想查询的执行顺序和各个阶段的不同意义时,下表为我们提供了一个很好的快速参考。
下表包含了一个通常格式的查询,并且按照不同子句的逻辑处理顺序,为其加上了步骤编号。
表1-1
() ) ) <select_list> (join_typeright_tableon_predicateA) aliasP) (alias> (2) WHERE <where_predicate> (group_by_specification> (4) HAVING <having_predicate> (order_by_list>;