MySQL-分页查询
#第05章_排序与分页 #1. 排序 # 如果没有使用排序操作,默认情况下查询返回的数据是按照添加数据的顺序显示的。 SELECT * FROM employees; # 1.1 基本使用 # 使用 ORDER BY 对查询到的数据进行排序操作。 # 升序:ASC (ascend) 默认方式 # 降序:DESC (descend) # 练习:按照salary从高到低的顺序显示员工信息 SELECT employee_id,last_name,salary FROM employees ORDER BY salary DESC; # 练习:按照salary从低到高的顺序显示员工信息 SELECT employee_id,last_name,salary FROM employees ORDER BY salary ASC; SELECT employee_id,last_name,salary FROM employees ORDER BY salary; # 如果在ORDER BY 后没有显式指名排序的方式的话,则默认按照升序排列。 #2. 我们可以使用列的别名,进行排序 SELECT employee_id,salary,salary * 12 annual_sal FROM employees ORDER BY annual_sal; #列的别名只能在 ORDER BY 中使用,别名不能在WHERE中使用。 #如下操作报错! SELECT employee_id,salary,salary * 12 annual_sal FROM employees WHERE annual_sal > 81600; #3. 强调格式:WHERE 需要声明在FROM后,ORDER BY之前。 SELECT employee_id,salary FROM employees WHERE department_id IN (50,60,70) ORDER BY department_id DESC; #4. 二级排序 #练习:显示员工信息,按照department_id的降序排列,salary的升序排列 SELECT employee_id,salary,department_id FROM employees ORDER BY department_id DESC,salary ASC; #2. 分页 #2.1 mysql使用limit实现数据的分页显示 # 需求1:每页显示20条记录,此时显示第1页 # 0 偏移量,指针 SELECT employee_id,last_name FROM employees LIMIT 0,20; # 需求2:每页显示20条记录,此时显示第2页 SELECT employee_id,last_name FROM employees LIMIT 20,20; # 需求3:每页显示20条记录,此时显示第3页 SELECT employee_id,last_name FROM employees LIMIT 40,20; #需求:每页显示pageSize条记录,此时显示第pageNo页: #公式:LIMIT (pageNo-1) * pageSize,pageSize; #2.2 WHERE ... ORDER BY ...LIMIT 声明顺序如下: # LIMIT的格式: 严格来说:LIMIT 位置偏移量,条目数 # 结构"LIMIT 0,条目数" 等价于 "LIMIT 条目数" SELECT employee_id,last_name,salary FROM employees WHERE salary > 6000 ORDER BY salary DESC #limit 0,10; LIMIT 10; #练习:表里有107条数据,我们只想要显示第 32、33 条数据怎么办呢? SELECT employee_id,last_name FROM employees LIMIT 31,2; #2.3 MySQL8.0新特性:LIMIT ... OFFSET ... #练习:表里有107条数据,我们只想要显示第 32、33 条数据怎么办呢? SELECT employee_id,last_name FROM employees LIMIT 2 OFFSET 31; # 与5.7版本对比,则互换位置 #练习:查询员工表中工资最高的员工信息 SELECT employee_id,last_name,salary FROM employees ORDER BY salary DESC #limit 0,1 LIMIT 1; #2.4 LIMIT 可以使用在MySQL、PGSQL、MariaDB、SQLite 等数据库中使用,表示分页。 # 不能使用在SQL Server、DB2、Oracle!
越学越感到自己的无知
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)