【MySQL】第四部分 排序和分页

导读:本篇文章讲解 【MySQL】第四部分 排序和分页,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

【MySQL】第四部分 排序和分页



4. 排序和分页

排序

ASC(ascend): 升序

DESC(descend):降序

注意:

  1. ORDER BY 写在SELECT语句结尾

  2. WHERE语句和ORDER BY语句一起使用时,WHERE写在FROM之后,ORDER BY之前

  3. WHRER语句不可以使用列的别名进行筛选,只有ORDER BY可以使用列的别名

    原因是:SQL语句的执行顺序问题,首先先执行FROM,在执行WHERE,此时SELECT语句还未执行,所以WHERE语句看不到别名,接着执行SELECT,最后执行ORDER BY,此时别名已经声明,那么ORDER BY就可以使用

  4. 多级排序,需要建立在前一个排序上有相同的列值,才会进行排序,否则不会排序

# 降序
SELECT first_name,salary,department_id
FROM employees
ORDER BY employee_id DESC;

# 升序
SELECT first_name,salary,department_id
FROM employees
ORDER BY employee_id ASC;


# 多级排序
SELECT first_name,salary,department_id
FROM employees
ORDER BY department_id DESC,salary ASC;


# WHERE语句和ORDER BY语句一起使用
SELECT first_name,salary "monthly_income",salary*12 "annul_income"
FROM employees
WHERE first_name LIKE "%a%"
ORDER BY annul_income DESC;

分页

为什么使用分页? 因为 约束返回结果的数量可以减少数据表的网络传输量,也可以提升查询效率。如果我们知道返回结果只有 1 条,就可以使用LIMIT 1,告诉 SELECT 语句只需要返回一条记录即可SELECT 不需要扫描完整的表。

第一个“位置偏移量”参数指示MySQL从哪一行开始显示
第二个参数“条数”指示返回的记录条数。
LIMIT [位置偏移量,] 条数

需要注意

  1. 第一条记录的位置偏移量是0,第二条记录的位置偏移量是1,以此类推

  2. LIMIT 子句必须放在整个SELECT语句的最后

# 查询薪资大于6000并且只输出前5个人的姓名和工资
SELECT first_name,salary
FROM employees
WHERE salary > 6000
ORDER BY salary DESC
LIMIT 0,5;

# 查询薪资大于6000并且只输出排名第10到第30人的姓名和工资
SELECT first_name,salary
FROM employees
WHERE salary > 6000
ORDER BY salary DESC
LIMIT 9,20; # 因为偏移量是从0开始所以这里需要写9


# 第21至30条记录: 
SELECT * FROM 表名 LIMIT 20,10;


总结

以上就是今天要讲的内容,希望对大家有所帮助!!!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/82810.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!