6、分页和排序
6.1、分页
分页:limit
语法:limit 起始位置 , 页面大小
/*
推导:
第一页 : limit 0,5
第二页 : limit 5,5
第三页 : limit 10,5
......
第N页 : limit (n-1)*pageSzie,pageSzie
n:当前页面
pageSize:页面大小,每页显示的条数
(pageNo-1):当前页的起始位置
网页应用:当前页、页面总数、页面大小
*/
-- 查询学生表student表中的:学号、姓名、地址,每页显示五条数据
SELECT s.`studentno` 学号, s.`studentname` 姓名, s.`address` 家庭地址
FROM student s
LIMIT 0, 5;
6.2、排序
排序:Order By
/*
语法 : ORDER BY
ORDER BY 语句用于根据指定的列对结果集进行排序。
升序:ASC
降序:DESC
例:order by grade desc
*/
例:
-- 将成绩表result中的学生成绩按照降序或者升序排序
SELECT * FROM result ORDER BY studentresult DESC;
SELECT * FROM result ORDER BY studentresult ASC;
-- 下面这个查询是链表查询+条件+排序
/* 查询:
查询科目为:高等数学-4的
学生的学号studentno、姓名studentname、科目名称subjectname、成绩studentresult,
并且按照降序排序
*/
SELECT s.`studentno` 学号, s.`studentname` 姓名, sub.`subjectname` 科目, r.`studentresult`
FROM student s
LEFT JOIN result r
ON s.`studentno` = r.`studentno`
INNER JOIN SUBJECT sub
ON r.`subjectno` = sub.`subjectno`
WHERE sub.`subjectname` = '高等数学-4'
ORDER BY r.`studentresult` DESC;