概述
# 1:排序的基本使用方式
#按照工资从高到低显示数据
SELECT employee_id ,last_name ,salary FROM employees
ORDER BY salary DESC;
#按照工资顺序从地到高显示数据
SELECT employee_id,last_name,salary FROM employees
ORDER BY salary ASC;
#如果没有指定排序顺序的化,就默认按照升序来进行排序,从小到大
SELECT employee_id,last_name,salary FROM employees
ORDER BY salary;
# 2:使用列的别名来进行排序
SELECT employee_id,salary,salary*12 annual_salary FROM employees
ORDER BY annual_salary DESC;
#2.1:列的别名只能在order中使用,不能在where中使用,如下;例子
-- 2.1.1
SELECT employee_id,last_name,salary,salary*12 annual_sal FROM employees
WHERE annual_sal = 162000;
-- 2.1.2
SELECT employee_id,last_name,salary,salary*12 annual_sal FROM employees
WHERE department_id IN(30,50,60)
ORDER BY annual_sal DESC;
/*
上面两句中第一句会报错,第二句不会报错,那么同样使用别名,为什么一个报错,一个不报错,这是因为语句的执行顺序的原因,在一个sql语句中,where语句会先执行,从所有记录中选择满足where后面条件的数据项,然后在根据select语句后面的语句,选择相应的列,之后才会执行排序,那么在执行where的时候并没有定义别名,所以不能使用,而在排序的时候,select后面的语句已经执行过了,所以可以使用别名。
*/
# 根据上面的内容,我们可以总结:where只能在from之后,order by 只能在where之后,where中不能够使用别名,但是在order by中可以使用别名
# 3:二级排序
SELECT employee_id,salary,department_id FROM employees
ORDER BY department_id DESC ,salary DESC; #相应的二级,三级。。。排序
# 分页
# 格式:limit 偏移量,条目数
SELECT last_name,salary FROM employees
LIMIT 0,20;
# 第一页20条数据
SELECT last_name,salary FROM employees
ORDER BY salary DESC
LIMIT 0,20;
# 第二页20十条数据
SELECT last_name,salary FROM employees
ORDER BY salary DESC
LIMIT 20,20;
#所以可以总结对于分页的偏移量和条目数,页数pagenum,条目数,pagesize,所以偏移量为
# (pagenum-1)*pagesize,条目数:pagesize
# 只显示32,33这两条数据
SELECT last_name,salary FROM employees
LIMIT 31,2;
# 查询表中工资最高的员工数据
SELECT * FROM employees
ORDER BY salary DESC
LIMIT 0,1;
# 注意:在mysql8.0中分页格式出现了新变化,格式可以为limit 条目数 OFFSET 偏移量
#练习:表里有107条数据,我们只想要显示第 32、33 条数据怎么办呢?
SELECT employee_id,last_name
FROM employees
LIMIT 2 OFFSET 31;
#练习:查询员工表中工资最高的员工信息
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!
最后
以上就是健壮皮皮虾为你收集整理的数据库上篇-03:排序与分页的全部内容,希望文章能够帮你解决数据库上篇-03:排序与分页所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复