*功能:SQLServer与MySQL中分页查询sql语句示例
*日期: 2018年8月17日 10:58
*注释: 学习数据库MySQL的点点记录, 谢谢网上各位大神分享经验与资料, 欢迎大神批评与交流。
*/
分页查询 2018.8.16 21:39
SQLServer OK 2018.8.16 21:53
-- 显示第1个到第4个入职的雇员(按时间的先后顺序)
select top 4 * from order by hiredate
自注: 显示第一个到第四个入职的员工 SQLServer OK 2018.8.16 21:53
select * from emp order by hiredate
--请显示第5个到第10个入职的雇员(按时间的先后顺序)
select top 6 * from emp where empno not in
(select top 4 empno from emp order by hiredate)
order by hiredate;
自注:排除4个,再挑6个雇员(输出前6个雇员),就是显示第5个到第10个入职的雇员(按时间的先后顺序)。 SQLServer OK 2018.8.16 22:07
--请显示第11个到第13个入职的人的信息(按时间的先后顺序)
select top 3 * from emp where empno not in
(select top 10 empno from emp order by hiredate)
order by hiredate;
自注: 排除10个, 再挑3个雇员(输出前3个雇员), 就是显示第11个到第13个入职的雇员(按时间的先后顺序)。 SQLServer OK 2018.8.16 22:07
--请显示第5个到第9个人的信息(按照薪水的高低) 2018.8.16 22:11
select top 5 * from emp where empno not in
(select top 4 empno from emp order by sal desc)
order by sal desc;
自注: 排除前4个, 剩下再挑5个雇员(输出前5个雇员), 就是显示第5个到第9个人的信息(按照薪水的高低)。 SQLServer OK 2018.8.16 22:19
MySQL OK 2018.8.16 21:53
-- 显示第1个到第4个入职的雇员(按时间的先后顺序)
select * from emp order by hiredate limit 0,4;
select * from emp order by hiredate limit 4;
自注: 显示第一个到第四个入职的员工(按时间的先后顺序) MySQL OK 2018.8.16 21:53
mysql中关键字limit可实现分页查询, limit后跟两个数字作为参数,
第一个数字表示从第几行起开始查询,第二个数字表示查询了多少条记录,
如果此时所查询的记录数小于该数字(第二个数字)时全部显示。
当第一个数字为0 (零)时可以略去不写。 2018.8.16 22:03
--请显示第5个到第10个入职的雇员(按时间的先后顺序)
select * from emp order by hiredate limit 4,6;
自注:显示第五个到第十个入职的员工信息 MySQL OK 2018.8.16 22:00
--请显示第11个到第13个入职的人的信息(按时间的先后顺序)
select * from emp order by hiredate limit 10, 3; ---ok 2018.8.16 22:09
--请显示第5个到第9个人的信息(按照薪水的高低) 2018.8.16 22:19
select * from emp order by sal desc limit 5, 5; ---ok 2018.8.16 22:09
--请显示第4个到第9个人的信息(按照薪水的高低) 2018.8.16 22:19
select * from emp order by sal desc limit 4, 6; ---ok 2018.8.16 22:24