全国咨询热线:400-618-4000

Java培训之DQL之limit方言

更新时间:2016年06月27日18时23分 来源:传智播客java培训学院

limit属于mysql的方言,用来限定查询结果的起始行,以及总行数。例如:select * from emp limit 3,4,表示从emp表中第4条记录开始,查询4条记录。如图1-1所示:

图1-1 使用limit查询
limit子句后面的两个数字有如下意义:
  • 第一个数字:表示查询结果的起始行,从0开始,0表示从第一行开始取;
  • 第二个数字:表示一共查询几条记录。
limit子句常用来做分页查询,分页查询就是根据需要每次只返回需要的数据,而不用每次都从数据库中全部把数据提取出来,这样可以降低程序与数据库之间的数据传送量,并且可以提高程序的性能。例如有这样一个需求,要求一页只能显示5条数据,现在查询第三页的数据,对应的SQL语句如下所示:
  • select * from emp limit 10,5
分析:一页显示5条数据,那么第三页的第一条数据是第11条数据,又因为limit的第一个数字从0开始,所以是10,显示5条数据所以limit的第二个数字是5。如图1-3所示:

图1-3 分页查询
图1-3中,只查询了4条数据,而我们的语句是查询5条数据,出现这样的原因是因为emp表中有14条数据,所以在第三页中只有四条数据。
我们在进行分页查询时,limit的第一个数字可以通过以下公式获得:
  • (当前页-1)*每页记录数,例如查询第三页数据,该公式就是:(3-1)*5=10。

本文版权归传智播客Java培训学院所有,欢迎转载,转载请注明作者出处。谢谢!
作者:传智播客Java培训学院
首发:http://www.itcast.cn/javaee