1. 排序
- 若不使用排序,默认按照添加数据的顺序显示。
- ORDER BY 对查询到的数据进行排序
- 升序:ASC
- 降序:DESC
# 按照salary从高到低的顺序显示员工信息
SELECT
employee_id,last_name,salary
FROM
employees
ORDER BY
salary DESC;
- 若ORDER BY后不指明排序方式,则默认升序。
- 可以用列的别名进行排序。
列的别名只能在ORDER BY中使用,不能在WHERE中使用。
注意WHERE需要声明在FROM后,ORDER BY之前。
- 二级排序:依据多个字段进行排序
#显示员工信息,按照department_id的降序排列,salary的升序排列
SELECT
employee_id,salary,department_id
FROM
employees
ORDER BY
department_id DESC,salary ASC;
2. 分页
- 格式:
LIMIT 位置偏移量, 行数
LIMIT 可以使用在MySQL、PGSQL、MariaDB、SQLite 等数据库中使用,表示分页。但不能使用在SQL Server、DB2、Oracle
- “位置偏移量”可省略,此时将会从表中的第一条记录开始(第一条记录的位置偏移量是0,第二条记录的位置偏移量是1,以此类推)
- “行数”指示返回的记录条数。
- MySQL 8.0中还可以使用LIMIT OFFSET:
#表里有107条数据,只想要显示第 32、33 条数据
SELECT employee_id,last_name
FROM employees
LIMIT 31,2;
#或使用LIMIT OFFSET
SELECT employee_id,last_name
FROM employees
LIMIT 2 OFFSET 31;
补充:约束返回结果的数量可以减少数据表的网络传输量,也可以提升查询效率。如果我们知道返回结果只有1 条,就可以使用LIMIT 1 ,告诉 SELECT 语句只需要返回一条记录即可。这样的好处是SELECT 不需要扫描完整的表,只需要检索到一条符合条件的记录即可返回。