我的Oracle数据库学习笔记
Day 6 排序查询语句
排序查询:
select 列名列表
from 表名
[where 查询条件]
[order by 排序列名 ASC|DESC];
order by 写在select最后面; ASC :升序排序(默认值) ,DESC:降序排序
练习
查询员工的信息(编号,姓名,职位,工资,部门编号)
select empno,ename,job,sal,deptno
from emp;
查询员工的信息(编号,姓名,职位,工资,部门编号),工资降序排序;
select empno,ename,job,sal,deptno
from emp
-- order by sal asc; --升序排序
order by sal desc;
查询10号部门的员工信息(编号,姓名,职位,工资,部门编号) ,按工资升序显示
select empno,ename,job,sal,deptno
from emp
where deptno=10
order by sal;
查询工资在1000~3000之间的员工信息(编号,姓名,职位,工资,部门编号) ,按部门编号升序显示;
select empno,ename,job,sal,deptno
from emp
where sal between 1000 and 3000
order by deptno;
以表达式的数据排序 : 查询员工的年薪 (编号,姓名,职位,年薪),并按年薪降序显示
select empno,ename,job, sal *12 as yearsal
from emp
-- order by yearsal desc; --可以使用表达式的别名排序
order by sal*12 desc; -- 可以直接写相应的表达式排序
多列同时排序 :
order by 列1 ASC|DESC , 列2 ASC|DESC;
多列排序时,先按第一列的顺序排序,如果出现重复的数据,则重复数据部分按第二列的顺序排序
查询员工的信息(编号,姓名,职位,工资,部门编号) ,先按部门升序显示,每个部门中的员工以工资降序显示
select empno,ename,job,sal,deptno
from emp
order by deptno ,sal desc;
排序列的顺序不同,结果是不同的。
select empno,ename,job,sal,deptno
from emp
order by sal desc,deptno ; -->先按工资降序,再按部门编号升序显示