mssql排序与分页
#05章 排序与分页#1.排序操作
#如果没有使用排序操作,默认情况下查询返回的数据时按住添加数据的显示情况
SELECT * FROM employees;
#练习: 按住salary从高到低的顺序显示员工信息
#asc 升序
#降序 desc
#默认升序 order by 默认升序
SELECT employee_id,last_name,salary
FROM employees
ORDER BY salary DESC;
#order by salary ascl;
#我们可以使用列的别名 进行排序
SELECT employee_id,last_name,salary *12 AS "auu_salary"
FROM employees
WHERE department_id IN(50,60,70)
ORDER BY auu_salary DESC;
#4.二级排序
SELECT employee_id,salary,department_id
FROM employees
ORDER BY department_id DESC,salary ASC;
#分页的操作
#2.1使用mysql的limit 实现书的分页显示
SELECT employee_id,last_name,salary
FROM employees
WHERE department_id IN(20,30,40,50)
ORDER BY salary
LIMIT 0,20;
SELECT employee_id,last_name,salary
FROM employees
WHERE department_id IN(20,30,40,50)
ORDER BY salary
LIMIT 20,40;
#需求,每页显示的pagesize、条记录,此时显示第pageno页
#公式:limit(pageNo -1)*pageSize,pageSize;
# where ... order by ... limit 声明顺序如下
#limit 格式 严格上格式有两个值 位置偏移量,条目数
#结构limit 0,条目数 等价于limit 条目数;
SELECT employee_id,last_name,salary
FROM employees
WHERE salary >6000
ORDER BY salary DESC
LIMIT 10;
#练习: 表里有107条数据,我们只想要显示第32,33条数据怎么办?
SELECT employee_id,salary,last_name
FROM employees
LIMIT 31,2;#类似于数组
#2.3 8.0的新特性 offset 关键字
SELECT employee_id,last_name
FROM employees
LIMIT 2 OFFSET 31;
#练习 ,查询员工表中工资最高的工资
SELECT salary,employee_id,last_name
FROM employees
ORDER BY salary DESC
LIMIT 1;
#2.4 limit 可以使用在mysql pgsql sqllite等数据库中使用
练习:
#1. 查询员工的姓名和部门号和年薪,按年薪降序,按姓名升序显示
SELECT last_name,department_id,salary * 12 AS auu_salary
FROM employees
ORDER BY auu_salary DESC ,last_name ASC;
#2. 选择工资不在 8000 到 17000 的员工的姓名和工资,按工资降序,显示第21到40位置的数据
SELECT last_name,salary
FROM employees
WHERE salary <8000 OR salary >17000
ORDER BY salary DESC
LIMIT 20,20;
# 答案的写法 SELECT last_name,salary FROM employees WHERE salary NOT BETWEEN 8000 AND 17000 ORDER BY salary DESC LIMIT 20,20;
#3. 查询邮箱中包含 e 的员工信息,并先按邮箱的字节数降序,再按部门号升序
SELECT *
FROM employees
WHERE email LIKE '%e%'
ORDER BY LENGTH(email) DESC ,department_id ASC;
本文来自博客园,作者:wiselee/,转载请注明原文链接:https://www.cnblogs.com/wiseleer/articles/15892527.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!