1、在之前的查询里面只使用了SELECT、FROM、WHERE,但是如果需要针对查询后的结果按照指定的数据列进行排序操作,就必须使用ORDER BY子句。
排序的使用;
多个子句的关系。
2、当使用查询操作的时候,默认情况下它会按照数据的插入数序进行数据的排序显示。
范例:执行以下的操作
SELECT * FROM emp;
如果要针对于指定的列内容实现排序,就必须采用ORDER BY子句完成。
3控制要显示的数据列 SELECT [DISTINCT] * 列名称 [别名],列名称 [别名],..([]为可选项)
1确定数据的来源 FROM 表名称 [别名];
2确定满足条件的数据行 [WHERE 过滤条件(s)];
4针对查询结果进行排序 [ORDER BY 字段 [ASC | DESC],.....]
ORDER BY 子句是在SELECT 子句之后执行,而ORDER BY 子句可以使用SELECT子句定义的别名。
对于排序的方式有两种:
ASC(默认,不写也是ASC):按照升序的方式排列;
DESC:按照降序的方式排列
范例:查询所有的雇员信息,要求按照工资由高到低排序
SELECT * FROM emp ORDER BY sal DESC;
范例:查询所有销售人员的信息,要求按照雇佣日期由早到晚排序(升序)
SELECT * FROM emp WHERE job='SALESMAN' ORDER BY HIREDATE ASC;
以上只是针对于一个字段的排序,那么也可以同时设置多个排序字段。
范例:要求按照工资由高到底排序,如果工资相同,则按照雇佣日期由早到晚排序
SELECT * FROM emp ORDER BY sal DESC,HIREDATE ASC;
范例:查询每个雇员的编号、姓名、年薪,按照年薪由低到高排序。
SELECT empno,ename,sal*12 income FROM emp ORDER BY income ASC;
那么此时的程序就可以正常调用SELECT定义的别名。在整个SQL的查询结构之中,只有ORDER BY子句可以调用SELECT子句里面定义的别名。
3、使用ORDER BY 查询的时候,排序是在最后完成;
ORDER BY子句是最后一个执行的子句;
在ORDER BY中可以设置多个排序的字段;
OEDER BY有两种排序的方式:ASC、DESC;
ORDER BY是唯一一个可以使用SELECT子句定义别名的子句。