每天学习一点点,进步一点点
语法如下:
③SELECT [DISTINCT] * | 列名称 [别名] , 列名称 [别名] ,... | 数据计算
①FROM 数据表 [别名]
②[WHERE 限定条件(s)]
④[ORDER BY 排序字段 [ASC | DESC],排序字段 [ASC | DESC],.....];
之所以强调执行顺序是因为别名的问题,即:SELECT 子句之后执行的,所以来讲WHERE子句里面肯定无法使用SELECT子句定义的别名,而ORBDER BY 是在所有子句之后,可以使用别名。
在进行排序的时候,有两种排序:
- ASC : 升序,默认此模式
- DESC :降序,
1、
SELECT * FROM emp ORDER BY sal ;
SELECT * FROM emp ORDER BY sal DESC ;
范例:查询所有雇员的信息,要求按照工资由高到底排序,如果工资相同则按照雇佣日期由早到晚排序
2、
SELECT * FROM emp ORDER BY sal DESC , hiredate ASC ;
范例:也可以进行数据的筛选后排序,查询所有10部门和20部门的雇员信息,要求按照工资由高到底排序,如果工资相同则按照雇佣日期由早到晚排序也可以进行数据的筛选后排序,查询所有10部门和20部门的雇员信息,要求按照工资由高到底排序,如果工资相同则按照雇佣日期由早到晚排序
3、
SELECT * FROM emp
WHERE deptno IN (10,20)
ORDER BY sal DESC , hiredate ASC ;
- ORDER BY 可以使用SELECT别名
范例:查询每个雇员的编号、姓名、年薪,并且按照年薪由高到底排序
4、
SELECT empno,ename,sal*12 income
FROM emp
ORDER BY income DESC ;