2023.9.11
分页查询学习笔记:文章来源地址https://www.toymoban.com/news/detail-708162.html
#分页查询
/*
应用场景:当要显示的数据,一页显示不全,需要分页提交sql请求
语法:
select 查询列表
from 表
【join type join 表2
on 连接条件
where 筛选条件
group by 分组字段
having 分组后的筛选
order by 排序的字段】
limit 【offset,】size;
offset要显示条目的起始索引(起始索引从0开始)
size 要显示的条目个数
特点:
①limit语句放在查询语句的最后
②公式
要显示的页数 page,每页的条目数size
select 查询列表
from 表
limit (page-1)*size,size;
*/
#案例1:查询前五条员工信息
SELECT * FROM `employees` LIMIT 0,5; #limit后第一个参数代表起始索引(从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 0,10;
课后习题:
#课后习题
/*
已知表 stuinfo
id 学号
name 姓名
email邮箱 john@126.com
gradeId 年级编号
sex 性别 男 女
age 年龄
已知表 grade
id 年级编号
gradeName 年级名称
*/
#一、查询所有学员的邮箱的用户名(注:邮箱中 @前面的字符)
SELECT SUBSTR(email,1,INSTR(email,'@')-1) 用户名
FROM stuinfo;
#二、查询男生和女生的个数
SELECT sex,COUNT(*) 个数
FROM stuinfo
GROUP BY sex;
#三、查询年龄>18岁的所有学生的姓名和年级名称
SELECT NAME,gradeName
FROM stuinfo s
INNER JOIN grade g
ON s.gradeId = g.id
WHERE age>18;
#四、查询哪个年级的学生最小年龄>20岁
SELECT MIN(age),gradeId
FROM stuinfo
GROUP BY gradeId
HAVING MIN(age)>20;
文章来源:https://www.toymoban.com/news/detail-708162.html
到了这里,关于MySQL——分页查询的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!