4.5、分页和排序
排序 order by
-- 排序:升序ASC ,降序DESC
-- ORDER BY 通过哪个字段排序 升序或降序(DESC、ASC)
-- 查询的结果根据成绩降序、升序排序
SELECT s.`studentno`,`studentname`,`SubjectName`,`studentresult`
FROM `student` s
INNER JOIN `subject` sub
ON s.`gradeid`=sub.`GradeID`
INNER JOIN `result` r
ON s.`studentno`=r.`studentno`
WHERE sub.`SubjectName`='高等数学-2'
ORDER BY `studentresult` ASC
分页 limit
-- 为什么要分页?
-- 缓解数据库压力,给人的体验更好
-- 分页,每页只显示5条数据
-- 第一页 limit 0,5 (1-1)*5
-- 第二页 limit 5,5 (2-1)*5
-- 第三页 limit 10,5 (3-1)*5
-- 第N页 limit (n-1)*pageSize pageSize
-- 【pageSize:页面的数据大小】
-- 【(n-1)*pageSize:起始数据的值】
-- 【n:当前页】
-- 【数据总数/页面大小 = 总页数】
SELECT s.`studentno`,`studentname`,`SubjectName`,`studentresult`
FROM `student` s
INNER JOIN `subject` sub
ON s.`gradeid`=sub.`GradeID`
INNER JOIN `result` r
ON s.`studentno`=r.`studentno`
WHERE sub.`SubjectName`='高等数学-2'
ORDER BY `studentresult` ASC
LIMIT 0,5
语法:limit(查询的起始下标,pageSize)
练习
-- 查询JAVA第一学年 课程成绩排名前十的学生,并且分数要大于80 的学生信息(学号、姓名、课程名称、分数)
SELECT s.`studentno`,`studentname`,`SubjectName`,`studentresult`
FROM `student` s
INNER JOIN `subject` sub
ON s.`gradeid`=sub.`GradeID`
INNER JOIN `result` r
ON s.`studentno`=r.`studentno`
WHERE `SubjectName`='JAVA第一学年'
ORDER BY `studentresult` DESC
LIMIT 0,10