`
gcq04552015
  • 浏览: 462062 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

标准的 SQL 的解析顺序

 
阅读更多
标准的 SQL 的解析顺序为:
(1).FROM 子句, 组装来自不同数据源的数据
(2).WHERE 子句, 基于指定的条件对记录进行筛选
(3).GROUP BY 子句, 将数据划分为多个分组
(4).使用聚合函数进行计算
(5).使用 HAVING 子句筛选分组
(6).计算所有的表达式
(7).使用 ORDER BY 对结果集进行排序
举例说明: 在学生成绩表中 (暂记为 tb_Grade), 把 "考生姓名"内容不为空的记录按照 "考生姓名" 分组, 并且筛选分组结果, 选出 "总成绩" 大于 600 分的.
标准顺序的 SQL 语句为:
select 考生姓名, max(总成绩) as max总成绩
from tb_Grade
where 考生姓名 is not null
group by 考生姓名
having max(总成绩) > 600
order by max总成绩
在上面的示例中 SQL 语句的执行顺序如下:
(1). 首先执行 FROM 子句, 从 tb_Grade 表组装数据源的数据
(2). 执行 WHERE 子句, 筛选 tb_Grade 表中所有数据不为 NULL 的数据
(3). 执行 GROUP BY 子句, 把 tb_Grade 表按 "学生姓名" 列进行分组
(4). 计算 max() 聚集函数, 按 "总成绩" 求出总成绩中最大的一些数值
(5). 执行 HAVING 子句, 筛选课程的总成绩大于 600 分的.
(7). 执行 ORDER BY 子句, 把最后的结果按 "Max 成绩" 进行排序.
分享到:
评论

相关推荐

    sql解析顺序

    SQL 解析顺序 SQL 语句的解析顺序是一个复杂的过程,它涉及到多个步骤和子句的执行顺序。在这篇文章中,我们将详细地讲述 SQL 语句的解析顺序,包括 FROM、WHERE、GROUP BY、HAVING、SELECT 等子句的执行顺序。 ...

    SQL语句执行深入讲解(MySQL架构总览-查询执行流程-SQL解析顺序)

    本文将深入探讨MySQL数据库系统中的SQL语句执行过程,包括MySQL的架构总览、查询执行流程以及SQL语句的解析顺序。 首先,我们来看MySQL的架构总览。MySQL架构分为两个主要层次:SQL Layer(SQL层)和Storage Engine...

    HW_SQL_TOOL.rar_SQL 解析_python sql_sql解析_sql语句 python_tool

    Python有许多库支持SQL解析,例如`sqlparse`,它是一个非执行性的SQL解析库,可以解析SQL语句并返回一个解析树。 在描述中提到的"Python SQL 结构处理类"可能是一个自定义的Python类,它扩展了`sqlparse`或者其他...

    Sql Server解析Json

    element_id INT IDENTITY(1,1) NOT NULL, -- 内部代理主键,表示解析顺序及列表顺序 sequenceNo INT NULL, -- 元素在序列中的位置 parent_ID INT, -- 如果元素有父元素,则存于此列。文档是终极父元素,因此可以...

    SQL文的管理和解析源文件

    本文将深入探讨SQL语句的管理和解析,结合“Pattern Resource Spring SQL”标签,我们将讨论如何在Spring框架下有效地管理SQL资源,并理解SQL解析的相关原理。 首先,SQL文的管理通常涉及到以下几个方面: 1. **...

    spark sql解析-源码分析

    4. **SQL解析器**:解析器是Spark SQL的第一步,它将SQL字符串转换为AST。这个过程涉及到词法分析和语法分析,使用的是Apache Calcite库提供的解析器。 5. **DataFrame转换与操作**:DataFrame API提供了一系列操作...

    SQL查询原理及执行顺序

    SQL(Structured Query Language)是一种用于管理关系型数据库的标准语言,其查询原理和执行顺序对于数据库性能优化至关重要。本文将深入探讨SQL查询的执行过程,帮助读者理解如何构建高效查询。 #### SQL语句执行...

    SQL语句执行深入讲解(MySQL架构总览->查询执行流程->SQL解析顺序)

    SQL解析顺序的理解也很重要。通常我们认为的SQL语句顺序(例如,SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY, LIMIT)并不完全准确。实际执行顺序如下: 1. FROM + JOIN:确定数据源和连接条件。 2. WHERE:...

    sql优化规则详解(一些小总结)

    SQL优化是提升数据库性能的关键步骤,它涉及到对SQL语句的结构、执行顺序以及数据库设计的深入理解。以下是对标题和描述中所述知识点的详细解释: 1. **选择最有效的表名顺序**:在FROM子句中,Oracle解析器遵循从...

    SQLServer性能优化解析说明

    SQL Server性能优化是数据库管理中的重要环节,尤其是在处理大量数据的联机事务处理系统中,优化查询速度至关重要。其中,索引的使用和优化是提升SQL Server性能的关键手段。 聚簇索引(Clustered Indexes)是数据...

    SQL PARSER FOR DELPHI

    在编程领域,SQL(Structured Query Language)是用于管理和处理关系数据库的标准语言,而SQL解析器则是理解和解释SQL语句的关键组件。 SQL解析器的工作原理是将输入的SQL语句分解成一系列的解析树或抽象语法树...

    SQL 常用关键字解析

    ### SQL 常用关键字解析 #### 一、DISTINCT - 实现去重查询 `DISTINCT` 是一个非常实用的关键字,它可以帮助我们在查询结果中去除重复的记录,只保留唯一的值。例如: ``` SELECT DISTINCT column_name FROM table_...

    sql查询的逻辑执行顺序

    通过上述解析,我们可以清晰地了解到SQL查询的逻辑执行顺序及其背后的执行机制。掌握这些基础知识不仅有助于我们更好地编写SQL查询语句,还能帮助我们在遇到性能问题时进行有效的优化。希望本文能为你在SQL学习之旅...

    深入解析Microsoft+SQL+Server+2008

    **深入解析Microsoft SQL Server 2008** Microsoft SQL Server 2008是微软公司推出的一款企业级的关系型数据库管理系统(RDBMS),它在数据存储、处理和管理方面提供了广泛的功能,适用于各种规模的企业。SQL ...

    步步深入:MySQL架构总览->查询执行流程->SQL解析顺序

    SQL语句的解析顺序如下:首先是FROM子句,它处理表的连接,生成虚拟表。ON子句用来过滤满足连接条件的行。WHERE子句在FROM和JOIN之后,进一步过滤满足条件的行。GROUP BY子句用于数据分组,它会根据指定的列对结果...

    sql-parser-master.zip_Parser_SQL parser

    如果你打算深入研究或使用这个SQL解析器,你需要了解相关的编程语言,熟悉SQL标准,以及可能的解析库或框架(如ANTLR, JSqlParser等)。此外,阅读和理解源代码、测试用例以及文档是理解该解析器工作原理的关键。

    ORACLE数据库中SQL优化解析.pdf

    查询语句转换阶段会将解析后的SQL语句转换成更合理的执行形式。执行计划估计则是基于数据字典中的统计信息来计算执行计划的成本。计划生成阶段基于不同的访问路径、连接方式和连接顺序组合产生不同的执行计划,并...

    Java解析SQL的基本思路.pdf

    Java解析SQL的基本思路 Java解析SQL的基本思路是指使用Java语言对SQL语句进行解析和执行的过程。该过程通常涉及到两个主要步骤:分词和解析。在分词步骤中,Java程序会将输入的SQL语句分解为多个标记(tokens),以...

    用标准的SQL语句实现查询记录分页

    其中,如何使用标准的SQL语句实现查询记录分页,是数据库操作中一个常见且实用的需求。分页查询不仅能够提高数据检索的效率,还能优化用户体验,尤其是在处理大量数据时显得尤为重要。下面,我们将详细解析几种实现...

    SQL Optimizer for SQL Server 10.0.3

    SQL Optimizer for SQL Server 是一款强大的分析工具,它能够解析和比较不同的执行计划,为用户提供最佳的T-SQL查询路径。在SQL Server环境中,T-SQL(Transact-SQL)是用于数据操作的主要语言,而优化T-SQL代码对于...

Global site tag (gtag.js) - Google Analytics