开发者社区> 科技小能手> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

oracle order by 语句用法

简介:
+关注继续查看

 在执行查询操作时,默认情况下会按照行数据插入的先后顺序来显示行数据,但在实际应用中经常需要对数据进行排序,以显示更直观的数据,数据排序用的就是ORDER BY子句。语法如下:

SELECT <*,column [alias],...> FROM table [WHERE condition[s]] [ORDER BY] expr [ASC|DESC];

1.升序排序

默认情况下,当使用ORDER BY执行排序操作时,数据以升序方式排序,也可以在排序列后指定ASC关键字。注意:当执行升序排序时,如果被排序列包含NULL值,那么NULL会显示在最后面。如:

SQL> SELECT ename,sal FROM emp WHERE deptno=30 ORDER BY sal;

2.降序排序

为了执行降序排序,必须要指定DESC关键字。注意:当执行降序排序时,如果排序列存在NULL值,那么NULL会显示在最前面。如:

SQL> SELECT ename,sal FROM emp WHERE deptno=30 ORDER BY sal DESC;

3.使用多列排序

当使用ORDER BY子句进行排序时,不仅可以基于单个列或单个表达式进行排序,也可以基于多个列或多个表达式,当以多个列或多个表达式进行排序时,首先按照第一个列或表达式进行,当第一个列或表达式存在相同数据时,然后按第二个列或表达式进行排序。如:

SQL> SELECT ename,sal,comm FROM emp WHERE deptno=30 ORDER BY sal ASC,comm DESC;

4.使用非选择列进行排序

当使用ORDER BY 子句执行排序操作时,多数情况下选择列表都会包含被排序列,但在实际情况下,选择列表可以不包含排序列。如:

SQL> SELECT ename,job FROM emp ORDER BY sal DESC;

5.使用列别名排序

如果为列或表达式定义了别名,那么当执行排序操作时,既可以使用列或表达式进行排序,也可以使用列别名进行排序。如:

SQL> SELECT ename,sal*12 AS "全年工资" FROM emp WHERE deptno=30 ORDER BY "全年工资" DESC;

6.使用列位置编号排序

当执行排序操作时,不仅可以指定列名,列别名进行排序,也可以按照列或表达式在选择列表中的位置进行排序。如果列名或表达式名称很长,那么使用列位置排序可以缩短排序语句的长度,另外当使用UNION,NNION ALL,INTERSECT,MINUS等集合操作合并查询结果时,如果列表的列名不同,并且希望进行排序,那么必须使用列位置。如:

SQL> SELECT ename,sal*12 FROM emp WHERE deptno=20 ORDER BY 2 DESC;

 

本文转自 chenming421  51CTO博客,原文链接:http://blog.51cto.com/wnqcmq/1093369


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Oracle ASM磁盘和磁盘组的常用SQL语句
Oracle ASM磁盘和磁盘组的常用SQL语句
0 0
【数据库】解决 oracle: SQL 错误 [900] [42000]: ORA-00900: 无效 SQL 语句
【数据库】解决 oracle: SQL 错误 [900] [42000]: ORA-00900: 无效 SQL 语句
0 0
Oracle数据库 | SQL语句解析
Oracle数据库 | SQL语句解析
0 0
Oracle 常用语句
了解Oracle 常用语句。
0 0
Oracle数据库 | SQL语句执行计划、语句跟踪与优化实例
Oracle数据库 | SQL语句执行计划、语句跟踪与优化实例
0 0
Oracle语句判断字符串是否为数字及translate函数解析
Oracle语句判断字符串是否为数字及translate函数解析
0 0
oracle学习90-oracle之基本的sql_select语句全
oracle学习90-oracle之基本的sql_select语句全
0 0
oracle学习89-oracle之基本的sql_select语句之课后练习
oracle学习89-oracle之基本的sql_select语句之课后练习
0 0
oracle学习48-oracle命令窗口执行sql语句
oracle学习48-oracle命令窗口执行sql语句
0 0
Oracle数据库---怎样获得sql语句执行时的绑定变量
绑定变量是oracle常用的优化技术,有时候我们需要获得sql运行时绑定变量的值,用10046事件跟踪会话即可获得
0 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
EasyDBforOracle— 基于阿里云的Oracle最佳实践
立即下载
Oracle云上最佳实践
立即下载
迁移 ORACLE 最佳实践
立即下载