MySQL排序查询

排序查询

在实际应用中,经常都需要按照某个字段都某种排序都结果,实现语法:

sql 复制代码
select 查询列表 from 表 where 条件 order by 排序字段列表 asc | desc;

案例:查询所有员工信息,要求工资从大到小排列

sql 复制代码
select * from employees order by salary desc; // desc:降序,asc:升序

反过来从小到大排列

sql 复制代码
select * from employees order by salary asc; // asc:是可以省略

案例加上条件oreder by语句是放在条件语句后面的,

查询部门编号大于等于90的员工信息,按照入职时间的先后排序

sql 复制代码
select * from employees where department_id>=90 order by hiredate asc;

案例实现按表达式排序,按年薪的高低显示员工信息

sql 复制代码
select *,salary*12*(1+isnull(commission_pct,0)) as 年薪 from employees oreder by salary*12*(1+isnull(commission_pct,0)) desc;

-----oreder by salary*12*(1+isnull(commission_pct,0)) 太长!可以用别名替代:
-----oreder by 年薪 也是可以的!

案例使用函数来排序,按姓名的长度显示员工信息

sql 复制代码
select *,length(last_name) as 姓名的长度 from employees order by length(last_name) desc;

案例实现多字段排序,查询员工信息,首先用工资高低排序,工资一样的在按员工id大到小排序

sql 复制代码
select * from employees order by salary desc , employee_id desc;
相关推荐
一只旭宝9 小时前
Linux专题十二:mysql数据库以及redis数据库
linux·数据库·mysql
萧曵 丶9 小时前
MySQL B+树详解
数据库·b树·mysql
鱼跃鹰飞10 小时前
面试题:Spring事务失效的八大场景
数据库·mysql·spring
ss27310 小时前
类的线程安全:多线程编程-银行转账系统:如果两个线程同时修改同一个账户余额,没有适当的保护机制,会发生什么?
java·开发语言·数据库
郑泰科技10 小时前
windows下启动hbase的步骤
数据库·windows·hbase
子一!!10 小时前
MySQL数据库基础操作
数据库·mysql·oracle
DarkAthena10 小时前
【GaussDB】从 sqlplus 到 gsql:Shell 中执行 SQL 文件方案的迁移与改造
数据库·sql·oracle·gaussdb
Wpa.wk10 小时前
接口自动化 - 了解接口自动化框架RESTAssured (Java版)
java·数据库·自动化
二等饼干~za89866810 小时前
GEO优化---关键词搜索排名源码开发思路分享
大数据·前端·网络·数据库·django
程序员柒叔10 小时前
Dify 集成-向量数据库
数据库·milvus·向量数据库·工作流·dify·向量库