• MySql语句执行顺序


    Sql语句的执行顺序
    例:SELECT `name`,COUNT(`name`) AS num FROM student WHERE grade < 60 GROUP BY `name` HAVING num >= 2 ORDER BY num DESC,`name` ASC LIMIT 0,2;

    1、首先会执行from语句,把数据库的表文件加载到内存中。
    2、执行where语句,根据筛选条件过滤出数据并且在内存中生成一张临时表。
    3、如果有group by语句,会根据group by把内存中的临时表切割成多张临时表
    4、执行select语句,如果语句中没有group by,则在临时表中执行select语句,若有group by语句,则会在多张临时表中分别执行select语句。
    5、如果语句中有having关键字,则执行完select语句后执行having,对数据进行二次过滤,值得注意的是,执行where语句时,是不能用到字段别名的,因为执行where时,还没有执行select,所以这时是不能使用字段别名的,但是执行having时,是可以用字段别名的,因为having语句是在select语句执行之后执行的,所以可以用到字段别名。
    6、当上述语句执行完成后,继续会执行order by语句,进行排序后执行limit分页语句,然后返回查询结果,结束当前sql语句的执行。

  • 相关阅读:
    C#操作EXcel
    ADO.NET 导出 Excel 文件
    基于jQuery的数字键盘插件
    Python爬虫(三)——正则表达式
    python爬虫(二)——第一个爬虫程序
    python爬虫学习(一)——爬虫的工作原理
    斜率优化DP学习笔记
    可持久化线段树学习笔记
    尺取法学习笔记
    分层图学习笔记
  • 原文地址:https://www.cnblogs.com/cuihe-java/p/10577256.html
Copyright © 2020-2023  润新知