三.SQL语句–排序
3.1查询所有员工薪资,排序?
select
ename,sal
from
emp
order by
sal;//默认是升序!
怎么降序?
select
ename,sal
from
emp
order by
sal desc;//指定降序
select
ename,sal
from
emp
order by
sal asc;//指定升序,也可以不写,默认升序
3.2可以两个字段排序吗?或者说按照多个字段排序?
查询员工名字和薪资,要求按照薪资升序,如果薪资一样的话,再按照名字升序排列。
select
ename,sal
from
emp
order by
sal asc,ename asc;//sal在前起主导,只有sal相等的时候,才会考虑启用ename排序
3.3了解:根据字段的位置也可以排序
select
ename,sal
from
emp
order by 2;//2表示第二列,第二列是sal
按照查询结果的第2列sal排序。
了解一下,不建议再开发中这样写,因为不健壮。因为列的顺序很容易发生改变,列顺序修改以后,2就作废了。
3.4综合一点的案例
找出工资在1250和3000之间的员工信息,要求按照薪资降序排列。
select
ename,sal
from
emp
where
sal between 1250 and 3000
order by
sal desc;
关键字顺序不能变:
select
...
from
...
where
...
order by
...
以上语句的执行顺序必须掌握:
第一步:from
第二步:where
第三步:select
第四步:order by(排序总是在最后执行!)