zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    索引优化策略
    mysql列类型选择
    redis安装
    redis相关面试题
    aop动态代理源码分析
    JVM运行时数据区
    redis应用场景
    JPA相关知识
    技术栈
    linux上安装mysql5.6
  • 原文地址:https://www.cnblogs.com/yif930916/p/14816753.html
Copyright © 2011-2022 走看看