SQL语句执行顺序是什么样的呢

简介: SQL语句执行顺序是什么样的呢

select语句定义如下:

<SELECT clause> [<FROM clause>] [<WHERE clause>] [<GROUP BY clause>] [<HAVING clause>] [<ORDER BY clause>] [<LIMIT clause>] 

先给出SQL语句执行顺序结论,后通过案例分析:

  1. 最先执行from tab;
  2. where语句是对条件加以限定;
  3. 执行分组语句group by
  4. 执行分组函数
  5. 执行分组后过滤having
  6. select语句。
  7. order by排序语句。

Select 6
...
分组函数(avg、sum等) 4
...
From 1
...
where 2
...
group by 3
...
having 5
...
order by 7

案例SQL执行分析

select deptno ,avg(sal) from emp where ename is not null group by deptno having avg(sal)>2000 order by deptno desc;
  1. 先确定从哪个表中取数据,所以最先执行from emp。如果存在多表连接,from tab1,tab2。可以对表加别名,方便后面的引用。
  2. 执行 where子句, 筛选 emp 表中ename数据不为 null的数据 。
  3. 执行 group by 子句, 把 emp 表按 "deptno" 进行分组。
  4. 执行 avg(sal) 分组函数, 按分组计算平均工资(sal)数值。 (常用的聚合函数有max,min, count,sum,聚合函数的执行在group by之后,having之前。如果在where中写聚合函数,就会出错。)
  5. 执行 having 子句, 筛选平均薪资大于2000的。
  6. 执行select选出要查找的字段,如果全选可以select *。这里选出部门编号,各部门平均工资。
  7. 执行order by 排序语句。order by语句在最后执行,只有select选出要查找的字段,才能进行排序。
相关文章
|
7月前
|
SQL 关系型数据库 MySQL
MySQL - 一文解析 SQL 的执行顺序
MySQL - 一文解析 SQL 的执行顺序
259 0
|
7月前
|
SQL 关系型数据库 MySQL
MySQL之SQL执行顺序
MySQL之SQL执行顺序
74 0
|
SQL XML Oracle
Mybatis动态SQL语句查询,实现一个参数 可查询多个字段。
Mybatis动态SQL语句查询,实现一个参数 可查询多个字段。
524 0
Mybatis动态SQL语句查询,实现一个参数 可查询多个字段。
|
7月前
|
SQL 数据处理 流计算
实时计算 Flink版产品使用合集之sql真正的执行顺序是怎样的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
3月前
|
SQL 数据库 C++
SQL 执行顺序,通俗易懂!
在数据库的世界里,SQL(Structured Query Language)是我们与数据对话的桥梁。编写一个高效的SQL查询,不仅要求我们理解数据库的结构和数据模型,还需要掌握SQL的执行顺序。但往往,这个顺序与我们在编写SQL时书写的顺序并不一致,这常常让初学者感到困惑。今天,我们就来用通俗易懂的方式,揭开SQL执行顺序的神秘面纱。
148 2
|
6月前
|
SQL Oracle 关系型数据库
mysql和oracle 命令行执行sql文件 数据库执行sql文件 执行sql语句
mysql和oracle 命令行执行sql文件 数据库执行sql文件 执行sql语句
78 0
|
7月前
|
SQL 关系型数据库 MySQL
SQL-分页查询and语句执行顺序
SQL-分页查询and语句执行顺序
|
SQL 存储 关系型数据库
MySQL的第一篇文章——了解数据库、简单的SQL语句
MySQL的第一篇文章——了解数据库、简单的SQL语句
|
SQL 测试技术 数据处理
SQL语法基础——SQL查询语句的执行顺序解析(建议收藏)
SQL语法基础——SQL查询语句的执行顺序解析(建议收藏)
101 0
|
SQL 关系型数据库 MySQL
项目实战典型案例2——sql优化 mysql执行顺序 explain关键字进行性能分析
项目实战典型案例2——sql优化 mysql执行顺序 explain关键字进行性能分析
222 0