Oracle之数据排序

本文介绍了在Oracle数据库中对查询数据集排序输出的方法。通过在select语句最后添加ORDER BY语句实现,它只能对最终查询结果排序。说明了按列名、列别名、列号排序的方式,以及升序ASC和降序DESC两种排序规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在oracle数据库中想要对查询道的数据集先排序在输出出来怎么实现?

语法:在select语句的最后加上一行   ORDER BY {列名|表达式|列别名|列序号} [ASC|DESC]  即orderby语句必定是跟着符号  ;  的,它只能对最终的查询结果进行排序,例如嵌套查询中的子查询就不可以使用。

如select * from student where  studentID BETWEEN 2016 AND 2019 ORDER BY  studentID  DESC;

上面的语句的意思是按studentID的大小的降序排序输出。

 

按什么排序

其中按什么排序有by后面跟着的列名来定义,by后面可以跟着一个列名,也可以跟着多个列名。

①按列名:

SQL> SELECT ename, job, deptno, hiredate  FROM emp  ORDER BY hiredate;

②按列别名

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

③按列号

SELECT ename, deptno, sal  FROM emp  ORDER BY 2, 3 DESC;

按照选择列的第二列的deptno升序排序后,按照第三列sal降序排序

怎么排序

其中排序有两种:

①升序ASC(假如orderby语句不设置排序规则的话,就会采用默认排序规则ASC)

这种排序规则就是按照数值从小到大排序输出,其中Oracle认为空值NULL在数值上为最大,所以默认被排在最后,当然也可以在orderby语句最后加上 null first 把空值排到前面。(相比而言sqlserver 认为 null 最小)

②降序DESC

这种排序规则就是按照数值从大到小排序输出,其中字符的话就按照字符的ascll值大小排序,即先排A-Z,再派a-z

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值