oracle的查询数据表(五)

原创 2016年08月28日 18:50:25

排序
通过在查询结果中应用排序,可以使得查询的结果顺序按照指定的顺序进行排序,在select子句中可以使用order by子句排序,可以为order by子句指定一个表达式或一个列名作为排序的条件

注意:order by 子句必须是select语句的最后一个子句,否则select语句将会执行失败

    select expr from table [where condition(s)] [order by {column,expr} [asc|desc]];

语法中的order by 关键字指定要对结果进行排序,可选择的asc和desc表示排序的方向,默认值为asc,表示按照升序排序,如果未指定任何排序方向,则使用asc,否则使用desc指定降序排序

例如要查询emp表按照empno进行排序

select * from emp order by empno

这里写图片描述

由于empno是数字类型,因此查询的结果是按照数字值从小到大进行排序的,下面是其他数据类型的排序规则,
1、日期类型:较早的日期显示在前面
2、字符类型:依字母顺序显示
3、空值:升序排序时显示在最后,降序排序时显示在最前面

例如下面的select语句按照ename进行降序处理,在order by子句中使用了desc关键字

select * from emp order by ename desc

这里写图片描述

可以看到降序排序后,员工名称果然是按首字母从26个字母表中的最后排序到最前

下面的语句获取了部门编号为20的员工列表,先用员工编号进行排序,然后按员工名称进行倒序排序

select * from emp order by empno,ename desc

这里写图片描述

除了直接指定列名之外,还可以根据select语句的字段列表的索引顺序指定排序,例如下面的语句将根据select语句中第4个字段mgr列值进行排序

select * from emp order by 4 desc

这里写图片描述

如果指定一个不在select语句中的索引号,oracle将提示异常,例如下面的语句按照一个并不存在的索引号进行排序

select * from emp order by 10 desc

这里写图片描述

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

oracle的查询数据表(五)

判断NULL值 当要检查列中是否包含空值的时候,需要使用is null 或者is not null语句,null通常为空值,空值的意思就是未指定的,不存在的值,不能与空白值相混淆,空白值是一...
  • paicMis
  • paicMis
  • 2016年08月16日 23:40
  • 195

Oracle数据表与查询

  • 2011年03月27日 18:33
  • 1KB
  • 下载

Oracle查询数据表结构(字段,类型,大小,备注)

来源:http://www.cnblogs.com/luohoufu/archive/2008/09/03/1282945.html Oracle数据库字典介绍    Oracle数据字典是有表和视图...

Oracle查询数据表结构(字段,类型,大小,备注)

来源:http://www.cnblogs.com/luohoufu/archive/2008/09/03/1282945.html Oracle数据库字典介绍     Oracle数...

mySql、oracle数据表的单表增删改查及多表关联查询

在对oracle数据库进行操作的时候,我们往往会有这样的困惑:         1、新增数据时,按照mySql的写法为什么新增不了?         2、多个数据表,通过外键关联,如何通过一条sql语...

有关Oracle 的查询语句的几个小练习(针对ORCL数据库的emp,dept,salgrade等数据表)

1、列出至少有一个员工的所有部门的信息: select dept.*,m.cou from dept,(select deptno,count(empno) cou from emp group b...

Oracle中对两个数据表交集的查询(intersect和in)

Oracle关系型数据库管理系统是世界上流行的关系数据库,它是一个极其强大、灵活和复杂的系统,据说,在使用oracle时应有这样的思想,那就是在SQL中几乎可以实现任何一种想法。   下面向大家介绍...

Oracle使用游标查询指定数据表的所有字段名称组合而成的字符串

应用场合:参考网上查询数据表的所有字段名代码,使用游标生成指定单个表的所有字段名跟逗号组成的用于select  逗号隔开的字段名列表 from字符串等场合。查询结果输出如下:当前数据表TB_UD_US...
  • xqf222
  • xqf222
  • 2015年01月23日 13:56
  • 1599

Oracle数据库中查询数据表中的前N名、后N名、中间N名记录的方法

sql server可以用select top N fields1.. from table 的形式来读取前N条记录。Oracle中用ROWNUM来进行排序取值,1、从table表中取以field3降...

oracle表空间查询维护命令大全之一(数据表空间)史上最全

oracle表空间相关维护命令汇总,包含数据库表空间的查询,创建,移动,删除等操作,包含所有,史上最全,希望对大家有所帮助。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle的查询数据表(五)
举报原因:
原因补充:

(最多只允许输入30个字)