mysql的查询排列

***#进阶三:查询排列

引入:
	select * from employees;
语法:
	select 查询列表
	from 库
	[where 筛选条件]
	order by 排序列表 【asc/desc】;
特点:
	1.asc代表的是升序,desc代表降序
	2.如果不写,则默认为升序
#案例一:查询员工信息,要求员工工资从高到低排序
SELECT * FROM employees ORDER BY salary DESC;
#案例二:查询员工信息,要求员工工资从低到高排序
SELECT * FROM employees ORDER BY salary ASC;
SELECT * FROM employees ORDER BY salary ;
#案例三:查询部门编号>=90的员工信息,按入职时间的先后顺序进行排列[添加筛选条件]
SELECT 
	* 
FROM 
	employees
WHERE
	department_id>=90 
ORDER BY 
	hiredate;
#案例四:按年薪高低显示员工信息和年薪[按表达式排序]
SELECT 
	*,salary*12*(1+IFNULL(commission_pct,0)) 年薪 
FROM
	employees
ORDER BY 
	salary*12*(1+IFNULL(commission_pct,0));
#案例五:按年薪高低显示员工信息和年薪[按别名排序]
SELECT 
	*,salary*12*(1+IFNULL(commission_pct,0)) 年薪 
FROM 
	employees 
ORDER BY 年薪;
#案例六:按姓名的长度显示员工姓名的工资[按函数排序]
SELECT 
LENGTH(last_name) 字节长度,last_name,salary 
FROM
	employees 
ORDER BY LENGTH(last_name) DESC;
#案例七:查询员工的信息,要求先按工资升序,再按员工编号降序[多个字段排序]
SELECT 
	*
FROM 
 	employees 
ORDER BY salary,employee_id DESC;
#优先排序前面的

salary优先排序,后排序employee_id'如图,可以发现salary优先排序,后排序employee_id

#按多个列排序,例如检索三个列,只对其中的两个列排序
SELECT department_id,salary,job_id
FROM employees
ORDER BY salary,job_id;

在这里插入图片描述如图,可发现department_id并没有排序,而salary,job_id排序,且优先排序salary


#按列位置排序
#按多个列排序,例如检索三个列,只对其中的两个列排序
SELECT department_id,salary,job_id
FROM employees
ORDER BY 2,3;
#结果和上面的图一样
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值