加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码网 (https://www.900php.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

Mysql 多表联合查询时如果需要排序分页,如何保证效率高?

发布时间:2022-12-07 13:32:55 所属栏目:MsSql教程 来源:转载
导读: 分页操作在业务系统开发时,也是非常常见的一个功能,我们在网站中看到的各种各样的分页条,后台都需要借助于数据库的分页操作。
1). 分页查询的语法
SELECT 字段列表 FROM 表名 LIMIT 起

分页操作在业务系统开发时,也是非常常见的一个功能,我们在网站中看到的各种各样的分页条,后台都需要借助于数据库的分页操作。

1). 分页查询的语法

SELECT  字段列表 FROM 表名 LIMIT 起始索引,查询记录数;

注意事项:

起始索引从0开始,起始索引= (查询页码- 1)* 每页显示记录数。分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT。如果查询的是第一页数据,起始索引可以省略,直接简写为limit 10。

案例:

1). 查询年龄为20,21,22,23岁的员工信息。

select*fromempwheregender='女'andagein(20,21,22,23);

2). 查询性别为男,并且年龄在20-40 岁(含)以内的姓名为三个字的员工。

select*fromempwheregender='男'and(agebetween20and40)andnamelike
'___';

3). 统计员工表中, 年龄小于60岁的, 男性员工和女性员工的人数。

selectgender,count(*)fromempwhereage<60groupbygender;

4). 查询所有年龄小于等于35岁员工的姓名和年龄,并对查询结果按年龄升序排序,如果年龄相同按入职时间降序排序。

selectname,agefromempwhereage<=35orderbyageasc,entrydatedesc;

5). 查询性别为男mssql分页查询,且年龄在20-40 岁(含)以内的前5个员工信息,对查询的结果按年龄升序排序,年龄相同按入职时间升序排序。

select*fromempwheregender='男'andagebetween20and40orderbyageasc,entrydateasclimit5;

(编辑:源码网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!