<返回更多

mysql查询小总结

2021-04-27  今日头条  奇点之一二
加入收藏

SQL Select 语句完整的执行顺序:

1、from 获取不同数据库表的数据;

2、where 子句跟随筛选条件,对数据进行过滤;

3、group by 子句可以将数据根据分组字段进行分组处理;

4、可使用聚集函数对数据进行汇总计算;

5、可使用 having 子句筛选分组结果;

6、select 后面可设置返回的数据字段;

7、使用 order by 对结果集进行排序。

SQL 语言不同于其他编程语言的最明显特征是处理代码的顺序。这是一种结构话查询语言,在大多数据库语言中,代码按编码顺序被处理。但在 SQL 语句中,第一个被处理的子句式 FROM,而不是第一出现的 SELECT。SQL 查询处理的步骤序号:

1.FROM 左表表名

2.<join_type> JOIN 右表表名

3.ON <join_condition>

4.WHERE <where_condition>

5.GROUP BY <group_by_list>

6. WITH {CUBE | ROLLUP}

7.HAVING <having_condition>

8. SELECT

9.去重DISTINCT

10.排序 ORDER BY <order_by_list>

11. <TOP_specification> <select_list>

以上每个步骤都会产生一个虚拟表,而该虚拟表又被用作下一个步骤的输入。这些虚拟表对调用者(客户端应用程序或者外部查询)不可用。只有最后一步生成的表才会会给调用者。如果没有在查询中指定某一个子句,

将跳过相应的步骤。

逻辑查询处理阶段简介:

1、 FROM:对 FROM 子句中的前两个表执行查询获得笛卡尔积(交叉联接),生成虚拟表 t1。

2、 ON:对 t1 应用 ON 条件,只有那些使为真才被插入到 t2。

3、 OUTER (JOIN):如果指定了 OUTER JOIN(相对于 CROSS JOIN 或 INNER JOIN),保留表中未找到匹配的行将作为外部行添加到 t2,生成 t3。如果 FROM 子句包含两个以上的表,则对上一个联接生成的

结果表和下一个表重复执行步骤 1 到步骤 3,直到处理完所有的表位置。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>