DQL——排序查询

本文详细介绍了SQL查询中的ORDER BY子句,用于对查询结果进行排序。内容包括升序与降序排序的使用,支持单个字段、多个字段、表达式、函数及别名的排序方式。通过多个实战案例,如按工资、入职时间、年薪、姓名长度等不同条件进行排序,展示了ORDER BY子句在实际操作中的灵活性和实用性。
摘要由CSDN通过智能技术生成

      引入:
                select * from employees;
      语法:
                select 查询列表 from 表【where 筛选条件】 order by 排序列表 【asc|desc】
      特点:
             
  1.asc升序,desc降序
                   如果不写,默认是升序
                2.order by 子句中可以支持单个字段、多个字段、表达式、函数、别名
                3.order by 子句一般是放在查询语句的最后面,limit子句除外

案例1:查询员工信息,要求工资从高到低排序

SELECT * FROM employees ORDER BY salary DESC;

             从低到高,asc可以省略

SELECT * FROM employees ORDER BY salary ASC;

案例2:查询部门编号>=90的员工信息,按入职时间的先后进行排序

SELECT 
  * 
FROM
  employees 
WHERE department_id >= 90 
ORDER BY hiredate ASC ;

案例3:【按表达式排序】按年薪的高低显示员工的信息和年薪

SELECT 
  *,
  salary * 12 * (1+ IFNULL(commission_pct, 0)) 
FROM
  employees 
ORDER BY salary * 12 * (1+ IFNULL(commission_pct, 0)) DESC ;

案例4:【按别名排序】按年薪的高低显示员工的信息和年薪

SELECT 
  *,
  salary * 12 * (1+ IFNULL(commission_pct, 0)) 年薪 
FROM
  employees 
ORDER BY 年薪 DESC ;

案例5:【按函数排序】按姓名的长度显示员工的姓名和工资

SELECT 
  LENGTH(last_name) 字节长度,
  last_name,
  salary
FROM
  employees 
ORDER BY LENGTH(last_name) DESC; 

案例6:【按多个字段排序】查询员工信息,要求先按工资升序,再按员工编号降序

SELECT 
  * 
FROM
  employees 
ORDER BY salary ASC,
  employee_id DESC ;

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值