limit命令: 1.书写顺序:(这里的内容就是单表查询中的七个查询命令,它们放在一起时的书写顺序,可以说是七个查询命令大总结) SELECT 字段,函数,子查询 FROM 表 WHERE 定位数据行条件【关系运算/逻辑运算/特殊运算符】 GROUP BY 分组字段1,分组字段2 HAVING 对临时表进行删除判断条件 ORDER BY 排序字段1,排序字段2 Limit 起始行位置,从起始行开始向下截取行数
【注意:在MySQL中字段的排序从1开始,而数据行的排序从0开始】 【需要注意:查询语句中的所有标点符号必须是英文半角状态下书写的】 2.执行顺序:(这就是单表查询中七个查询命令的执行顺序大总结) FROM-->WHERE-->GROUP BY-->HAVING-->SELECT-->ORDER BY-->LIMIT 3.执行原理: 从临时表指定位置的数据行开始,向下截取指定数量的数据行。将截取出来的数据行保存到一个全新的临时表。 4.特点:LIMIT 总是在最后执行。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
需求:查询销售人员工资排在前两位的职员信息 SQL: select * from emp where job = 'salesman' order by sal desc limit 0,2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
第一步:执行 from emp 执行时生成第一个临时表 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
第二步:执行 where job = 'salesman' 1.对满足job = 'salesman'条件的数据行进行定位 2.将这些被定位的数据行放在一起存放的一个新的临时表中,这个临时表(第二个临时表)生成后,第一个临时表会被销毁。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
第三步:执行 select * 这个命令由于查询的是所有字段信息,为此第二个临时表的内容会被完整切过来组成第三个临时表,新的临时表生成后,第二个临时表被销毁。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
第四步:执行 order by sal desc 这个命令的执行会对第桑临时表中的数据按照sal字段的内容按降序排列,排序后的数据组成一个全新的临时表(第四个临时表),此时第三个临时表会被销毁。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
第五步:执行 limit 0,2 这个命令的执行会从第一行开始,连续取出两行数据,组成一个新的临时表(第五个临时表),第四个临时表会被销毁。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
最后,MySQL服务器会将第五个临时表作为结果推送给客户端,供操作者查阅。 |
SQL查询语句分步详解------limit命令:
于 2023-01-09 08:29:07 首次发布
文章详细阐述了MySQL中LIMIT命令在单表查询中的作用,以及查询语句中七个主要命令的书写和执行顺序。通过举例说明LIMIT如何配合其他命令(如WHERE,ORDERBY)来获取销售人员工资前两名的信息,解释了数据从原始表到最终结果的处理过程,涉及临时表的生成和销毁。
摘要由CSDN通过智能技术生成