Oracle SQL 查询排序

来源:互联网 发布:零售药店软件 编辑:程序博客网 时间:2024/05/18 02:27

1、在之前的查询里面只使用了SELECT、FROM、WHERE,但是如果需要针对查询后的结果按照指定的数据列进行排序操作,就必须使用ORDER BY子句。

排序的使用;

多个子句的关系。

2、当使用查询操作的时候,默认情况下它会按照数据的插入数序进行数据的排序显示。

范例:执行以下的操作

SELECT * FROM emp;

Oracle SQL 查询排序

如果要针对于指定的列内容实现排序,就必须采用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;

Oracle SQL 查询排序

范例:查询所有销售人员的信息,要求按照雇佣日期由早到晚排序(升序)

SELECT * FROM emp WHERE job='SALESMAN' ORDER BY HIREDATE ASC;

Oracle SQL 查询排序

以上只是针对于一个字段的排序,那么也可以同时设置多个排序字段。

范例:要求按照工资由高到底排序,如果工资相同,则按照雇佣日期由早到晚排序

SELECT * FROM emp ORDER BY sal DESC,HIREDATE ASC;

Oracle SQL 查询排序

范例:查询每个雇员的编号、姓名、年薪,按照年薪由低到高排序。

SELECT empno,ename,sal*12 income FROM emp ORDER BY income ASC;

Oracle SQL 查询排序

那么此时的程序就可以正常调用SELECT定义的别名。在整个SQL的查询结构之中,只有ORDER BY子句可以调用SELECT子句里面定义的别名。

3、使用ORDER BY 查询的时候,排序是在最后完成;

ORDER BY子句是最后一个执行的子句;

在ORDER BY中可以设置多个排序的字段;

OEDER BY有两种排序的方式:ASC、DESC;

ORDER BY是唯一一个可以使用SELECT子句定义别名的子句。

0 0
原创粉丝点击