我是靠谱客的博主 健壮皮皮虾,这篇文章主要介绍数据库上篇-03:排序与分页,现在分享给大家,希望可以做个参考。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# 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内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(87)

评论列表共有 0 条评论

立即
投稿
返回
顶部