ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

分页,排序,子查询

2022-07-21 18:02:24  阅读:141  来源: 互联网

标签:分页 -- 查询 studentno studentResult 排序 WHERE id SELECT


1. 分页和排序

where子句在order by和limit前面

排序:

升序 ASC 降序 DESC

-- 排序
SELECT `address`,s.`id`
FROM `student` AS s
LEFT JOIN `student123` AS r
ON s.id=r.id
ORDER BY  s.`id` ASC -- 升序

分页:

为了缓解数据库压力,给人更好的体验,瀑布流

语法:limit 起始页下标(从0开始),页面大小
limit 0,5 代表 1~5
limit 1,5 代表 2~6
limit 6,5 代表 7~12

第一页 0,5 (1-1)* 5
第二页 5,5 (2-1)* 5
第三页 10,5 (3-1)* 5
第n页 (n-1)* pageSize ,pageSize

-- 排序 分页
SELECT `address`,s.`id`
FROM `student` AS s
LEFT JOIN `student123` AS r
ON s.id=r.id
ORDER BY  s.`id` ASC -- 升序
LIMIT 1,2

2. 子查询与嵌套查询

本质 在where语句中嵌套一个子查询语句

where(select * from)

-- 连接查询
SELECT `studentno`,r.`subjectName`,`studentResult`
FROM `result` r
INNER JOIN `subject` sub
ON r.subjectno=sub.studentno
WHERE subjectName='数据结构'
ORDER BY studentResult DESC

-- 子查询
SELECT `studentno`,r.`subjectName`,`studentResult`
FROM `result` r
WHERE studentNo =(
	SELECT subjectNo FROM `subject`
	WHERE subjectName ='数据结构-1'

)
ORDER BY studentResult DESC;

-- 分数不小于80分的学生学号 和姓名
-- 联表查询
SELECT DISTINCT s.`studentno`,`studentName` 
FROM `student` s
INNER JOIN `result` r
ON s.studentno=r.studentno
WHERE studentResult>=80
ORDER BY r.studentResult DESC
-- 子查询
SELECT DISTINCT s.`studentno`,`studentName` 
FROM `student` s
WHERE studentno=(
	SELECT studentno FROM result
	WHERE studentResult>=80
)
-- order by

典型嵌套查询 注意:查询顺序 由里及外
-- 查询 高数2 分数不低于80分的学生学号和姓名
-- student表内有学号姓名  subject表内 subjectno subjectname  
-- result表内 studentno studentResult subjectno
SELECT studentno,studentName FROM `student` WHERE studentno=(
   SELECT studentno FROM result WHERE studentResult>=80 AND subjectno=(
	SELECT subjectno FROM `subject` WHERE `subjectName`='高等数学-2';
   )
)

标签:分页,--,查询,studentno,studentResult,排序,WHERE,id,SELECT
来源: https://www.cnblogs.com/lansedemao/p/16491783.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有