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
  • 229

Oracle查询数据库元数据

-- 获取表字段 -- user_tab_columns 字段 -- table_name 表名称 -- column_name 字段名 -- data_type 字段类型 -- data_lengt...
  • tinyq123
  • tinyq123
  • 2017年10月31日 17:22
  • 118

查看某个表在数据库中占用空间的大小

一、oracle数据库 1)查看某一用户下的表
  • super712
  • super712
  • 2014年08月15日 16:39
  • 2540

数据库表转置查询

一、SQL Server 中的转置 SELECT Name, SUM(CASE WHEN Subject = '语文' THEN Result END) AS 语文,       SUM(CAS...
  • lao_sun
  • lao_sun
  • 2011年08月09日 16:45
  • 2849

日期前五年后五年ORACLE

SELECT EXTRACT(YEAR FROM SYSDATE) + LEVEL||'年' AS year, EXTRACT(YEAR FROM SYSDATE) + LEVEL as nian ...
  • jackother
  • jackother
  • 2013年12月06日 15:02
  • 392

oracle的查询数据表(二)

3、使用distinct查询唯一列数据 可以使用distinct关键字获取列中的唯一值,例如要查询emp表中唯一职位列表,可以使用关键字distinct select distinct ...
  • paicMis
  • paicMis
  • 2016年08月09日 23:42
  • 549

oracle的查询数据表(一)

介绍:在操纵oracle数据的过程中,使用select的各种组合查询数据库表数据是DBA和开发人员用得最频繁工作之一,查询数据库主要是通过操纵select语句来完成的,接下来我们介绍如果使用selec...
  • paicMis
  • paicMis
  • 2016年08月09日 23:16
  • 454

oracle的查询数据表(四)

使用范围操作符 使用范围操作符,可以比较一定范围的数据,比如比较2个数字值之间的值,或者是使用like操作符进行模糊查询,在oracle sql 中可是使用的范围操作符如下 3、1...
  • paicMis
  • paicMis
  • 2016年08月14日 20:48
  • 479

Oracle数据库--解决单张表中数据量巨大(大数据、数据量上百万级别,后查询,更新数据等耗时剧增)

思路1:采用备份表 备份表中存储不活跃的数据eg:只有查询操作的数据(数据的部分属性字段不再更改)且查询次数也较少; 备份表可以是一张或者多张备份表,若采用多张备份表,则定期创建备份表(备份表的命名要...
  • QQ578473688
  • QQ578473688
  • 2017年01月15日 12:29
  • 11740

oracle的查询数据表(三)

1、指定查询条件 如果要按照条件进行查询,可以使用where子句来过滤所返回的行数据,语法如下select *|{[distinct] column|expression [alias],....
  • paicMis
  • paicMis
  • 2016年08月14日 14:19
  • 463
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle的查询数据表(五)
举报原因:
原因补充:

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