mysql数据库(3)--mysql的执行顺序

1、Mysql查询语句的语法

 1 select
 2 distinct <select_list>
 3 from <left_table>
 4 <join_type> join <right_table>
 5 on <join_condition>
 6 where <where_condition>
 7 group by <group_by list>
 8 having <having_condition>
 9 order by <order_by_condition>
10 limit <limit_number> 

2、Mysql查查询语句的执行顺序

1、from:对查询指定的left_table计算笛卡尔乘积;

2、on:按照join_condition进行数据的过滤

3、join:添加关联外部表(right_table)数据

4、where:按照where_condition进行数据的过滤

5、group by:对数据进行分组操作

6、having:对分组后的数据按having_condition进行数据的过滤

7、select:选择指定的列

8、distinct:对指定列进行去重

9、order by:按照order_by_condition进行排序

10、limit:取出指定的记录

3、对limit用法的补充说明

(1)select * from t limit 1,3

(2)select * from t limit 3 offset 1

上面两种写法都表示查询表中的第2、3、4条数据记录。

说明:

(1)当limit后面跟两个参数的时候,第一个数表示要跳过的数量,后一位表示要取的数量

如:select* from t LIMIT 1,3 就是跳过第1条数据,从第2条数据开始取,取3条数据,也就是取2,3,4三条数据;

(2)当 limit后面跟一个参数的时候,该参数表示要取的数据的数量

如:select* from t LIMIT 3  表示直接取前三条数据;

(3)当 limit和offset组合使用的时候,limit后面只能有一个参数,表示要取的的数量,offset表示要跳过的数量

如:select * from article LIMIT 3 OFFSET 1 表示跳过第1条数据,从第2条数据开始取,取3条数据,也就是取2,3,4三条数据

参考资料:

https://www.cnblogs.com/dongml/p/10953846.html

原文地址:https://www.cnblogs.com/yif930916/p/14816753.html