文章目录
1、语法:
select 查询列表 from 表名 where 筛选条件 order by 排序列表
where可有可没有
2、执行顺序:
1.from子句
2.where子句
3.select子句
4.order by子句(查出来了再排序)
举例:
select *
from employees
where salary>10000
order by salary;
3、特点:
1.排序列表是可以是单个字段,多个字段,表达式,函数,列数,别名,以及以上的组合
2.升序:通过 asc ,默认行为
降序:通过desc
一、按照单个字段排序
#案例1:将员工编号>120的员工信息进行工资的升序(ASC)
SELECT *
FROM employees
WHERE employee_id
>120
ORDER BY salary
ASC;
#案例2:将员工编号>120的员工信息进行工资的降序(desc)
SELECT *
FROM employees
WHERE employee_id
>120
ORDER BY salary
DESC;
二、按表达式排序
#案例一:对有奖金的员工,按年薪降序
SELECT *,salary
12(1+commission_pct) 年薪
FROMemployees
WHERE commission_pct
IS NOT NULL;
ORDER BY salary
12(1+commission_pct) DESC;
三、按别名排序(执行顺序)
#案例一:对有奖金的员工,按年薪降序
SELECT *,salary
12(1+commission_pct) 年薪
FROMemployees
WHERE commission_pct
IS NOT NULL;
ORDER BY 年薪 DESC;
四、按函数的结果排序
#案例1:按姓名的自数长度进行排序
SELECT last_name
FROM employees
;
SELECT LENGTH(last_name
),last_name
FROM employees
ORDER BY LENGTH(last_name
);
五、按多个字段排序
#案例1:查询员工的姓名,部门编号,工资,先按工资升序,再按部门编号排序
当出现工资一样时
SELECT last_name
,department_id
,salary
FROM employees
ORDER BY salary
ASC,department_id
DESC;
六、按列数排序(用的较少),直接写列的索引,2就代表第二列
SELECT * FROM employees
ORDER BY 2 DESC;
排序查询示例
#进阶3:排序查询
/*
语法:
select 查询列表
from 表名
【where 筛选条件】
order by 排序列表
执行顺序:
1.from子句
2.where子句
3.select子句
4.order by子句(查出来了再排序)
举例:
select *
from employees
where salary>10000
order by salary;
特点:
1.排序列表是可以是单个字段,多个字段,表达式,函数,列数,以及以上的组合
2.升序:通过 asc ,默认行为
降序:通过desc
*/
#一、按照单个字段排序
#案例1:将员工编号>120的员工信息进行工资的升序(ASC)
SELECT *
FROM `employees`
WHERE `employee_id`>120
ORDER BY `salary` ASC;
#案例2:将员工编号>120的员工信息进行工资的降序(desc)
SELECT *
FROM `employees`
WHERE `employee_id`>120
ORDER BY `salary` DESC;
#二、按表达式排序
#案例一:对有奖金的员工,按年薪降序
SELECT *,`salary`*12*(1+commission_pct) 年薪
FROM`employees`
WHERE `commission_pct` IS NOT NULL;
ORDER BY `salary`*12*(1+commission_pct) DESC;
#三、按别名排序
#案例一:对有奖金的员工,按年薪降序
SELECT *,`salary`*12*(1+commission_pct) 年薪
FROM`employees`
WHERE `commission_pct` IS NOT NULL;
ORDER BY 年薪 DESC;
#四、按函数的结果排序
#案例1:按姓名的自数长度进行排序
SELECT `last_name`
FROM `employees`;
SELECT LENGTH(`last_name`),`last_name`
FROM `employees`
ORDER BY LENGTH(`last_name`);
#五、按多个字段排序
#案例1:查询员工的姓名,部门编号,工资,先按工资升序,再按部门编号排序
SELECT `last_name`,`department_id`,`salary`
FROM `employees`
ORDER BY `salary` ASC,`department_id` DESC;
#六、按列数排序(用的较少),直接写列的索引,2就代表第二列
SELECT * FROM `employees` ORDER BY 2 DESC;