MySQL——排序查询

2023.9.3

排序查询SQL语句笔记如下:

sql 复制代码
#查询员工信息,要求工资从高到低(从低到高)排序。
SELECT * FROM `employees` ORDER BY salary DESC;
SELECT * FROM `employees` ORDER BY salary ASC;#不写ASC默认升序
#查询部门编号>=90的员工信息,按入职时间的先后进行排序
SELECT * FROM `employees` WHERE department_id>=90 ORDER BY `hiredate` ASC;
#按年薪的高低显示员工的信息和年薪【按表达式排序】
SELECT *,salary*12*(1+IFNULL(`commission_pct`,0)) AS 年薪 FROM `employees` ORDER BY 年薪 DESC; 
#按姓名的长度显示员工的姓名和工资【按函数排序】
SELECT LENGTH(last_name) AS 姓名长度, `last_name`,`salary` FROM `employees` ORDER BY LENGTH(`last_name`) ASC;
#查询员工信息,要求先按工资排序,再按员工编号排序【按多个字段排序】
SELECT * FROM `employees` ORDER BY salary ASC,`employee_id` ASC;

课后习题:

  1. 查询员工的姓名和部门号和年薪,按年薪降序 按姓名升序
  2. 选择工资不在 8000 到 17000 的员工的姓名和工资,按工资降序
  3. 查询邮箱中包含 e 的员工信息,并先按邮箱的字节数降序,再按部门号升序
sql 复制代码
#排序查询测试题
SELECT `last_name`,`department_id`,salary*12*(1+IFNULL(`commission_pct`,0)) AS 年薪 FROM `employees` ORDER BY 年薪 DESC,LENGTH(`last_name`) ASC;
SELECT `last_name`,`salary` FROM `employees` WHERE `salary`<8000 OR `salary`>17000 ORDER BY `salary` DESC;
SELECT * FROM `employees` WHERE `email` LIKE '%e%' ORDER BY LENGTH(`email`) DESC,`department_id` ASC;
相关推荐
VX:Fegn08953 小时前
计算机毕业设计|基于ssm + vue超市管理系统(源码+数据库+文档)
前端·数据库·vue.js·spring boot·后端·课程设计
chipsense3 小时前
电流传感器型号从数据库查询并排序输出到网页的方法
数据库·php·传感器·霍尔电流传感器
踢足球09293 小时前
寒假打卡:2026-01-28
数据库·oracle
麦聪聊数据3 小时前
智慧医疗数据互联互通:使用 QuickAPI 构建实时诊疗数据交换层
数据库·sql·安全
风吹落叶花飘荡3 小时前
2026年mysql数据库迁移(全流程)
数据库·mysql
2301_822382763 小时前
Python上下文管理器(with语句)的原理与实践
jvm·数据库·python
m0_748229993 小时前
Laravel8.X核心功能全解析
开发语言·数据库·php
液态不合群4 小时前
【面试题】MySQL 的索引下推是什么?
数据库·mysql
2301_790300964 小时前
Python深度学习入门:TensorFlow 2.0/Keras实战
jvm·数据库·python
Code blocks5 小时前
SpringBoot从0-1集成KingBase数据库
数据库