11_MySQL_分页查询

# 分页查询
/*
应用场景:要显示的数据,一页显示不全,需要分页提交sql请求

语法:
  select 查询列表
  from 表
  【join type】表2
  on 连接条件
  where 筛选条件
  group by 分组字段
  having 分组后筛选
  order by 排序的字段】
  limit 【offset,】size; # 如果起始索引为0(第1条记录),0可以省略

  # offset,要显示的条目的起始索引(注意:起始索引从0开始,和substring函数中的下标从1开始不同)
  # size, 一次显示多少条目
  # 前10条,limt 0,10
  # 11~20, limit 10,10


  特点:
  1)limit子句,位于查询语句的最后,执行顺序上也是最后
  2)执行顺序: 表-》inner join on -> where -> group by -> having -> select -> order by -> limit
  3)公式:
      要显示的页数 page 每页的条目数 size
      limit (page-1)*size ,size

        0 ~ size-1
        size ~ 2*size-1
        2*size ~ 3*size-1

*/

# 案例1: 查询前5条员工信息
SELECT *
FROM employees
LIMIT 0,5;

# 如果从第1条开始,0可以省略
SELECT *
FROM employees
LIMIT 5;

# 案例2:查询第11条~25条员工信息
SELECT *
FROM employees
LIMIT 10,15;

# 案例3: 有奖金的员工信息,并且工资较高的前10名
SELECT *
FROM employees
WHERE commission_pct IS NOT NULL
ORDER BY salary DESC
LIMIT 10;

posted @ 2017-12-05 01:58  shayzhang  阅读(238)  评论(0编辑  收藏  举报