oracle数据库中order by用法

oracle数据库中order by的一些高级用法

现有一个表,表内容如下:

以下的操作都是对该表进行的操作

1.按照名称排序(默认为升序)

实现代码:

select * from dp_tourist order by cnname;

实现效果:

2.按照名称升序排序

实现代码:

select * from dp_tourist order by cnname asc;

实现效果:

3.按照名称降序排序

实现代码:

select * from dp_tourist order by cnname desc;

实现效果:

4.先按照名称降序排序,如果名称有一样的,则按照id降序排序

实现代码:

select * from dp_tourist order by cnname desc,id desc;

实现效果:

5.缺省处理:oracle在order by时认为null是最大值, 所以如果是asc升序则排在最后, desc降序则排在最前.我们可以使用nulls first或者nulls last来控制null的位置。

5.1将null放在最前

实现代码:

select * from dp_tourist order by cnname asc nulls first;

实现效果:

5.2将null放在最后

实现代码:

select * from dp_tourist order by cnname desc nulls last;

实现效果:

6.名称有带“深圳”的先显示,其余的按照名称升序排序

6.1方法一:

实现代码:

select * from dp_tourist d1 where d1.cnname like '%深圳%'

Union all

select * from (select * from dp_tourist d2 where d2.cnname not like '%深圳%' order by d2.CNNAME asc);

实现效果:

6.2方法二:

实现代码:

select * from dp_tourist

order by

case

when cnname like '%深圳%' then 0

else 1

end,cnname asc;

实现效果:

比较: 方法1中,null值不存在,方法2中,null值存在

7.按照id为94的排到第一位

实现代码:

select * from dp_tourist order by decode(id, 94,4);

实现效果:

8.按照id为94的排到第一位,其余按照id降序排序

实现代码:

select * from dp_tourist order by decode(id, 94,4), id desc;

实现效果:

9.把id当成分数,按照分数等级排序

DECODE函数的语法:DECODE(value,if1,then1,if2,then2,if3,then3,…,else);

DECODE函数说明:表示如果value等于if1时,DECODE函数的结果返回then1,…,如果不等于任何一个if值,则返回else。

**sign函数语法:sign(n); **

**sign函数说明:取数字n的符号,大于0返回1,小于0返回-1,等于0返回0(n可以是表达式,(n-200))。 **

实现代码:

select id 评分,cnname 名称, decode(sign(id-85),1,'优秀',0,'优秀',-1,

decode(sign(id-70),1,'良好',0,'良好',-1,

decode(sign(id-60),1,'及格',0,'及格',-1,'不及格'))) 成绩

from dp_tourist

order by

case

when 成绩='优秀' then 0

when 成绩='良好' then 1

when 成绩='及格' then 2

when 成绩='不及格' then 3

else 4

end,id asc;

oracle12c order by,oracle 数据库中order by 的一些高级用法相关推荐

  1. oracle 数据库中order by 的一些高级用法

    oracle数据库中order by用法 oracle数据库中order by的一些高级用法 现有一个表,表内容如下: 以下的操作都是对该表进行的操作 1.按照名称排序(默认为升序) 实现代码: se ...

  2. oracle 数据库中 connect by 和level 的用法

    这几天看sql看到了有关connect by和level的关键字用法,以前都用mysql也没用过这个关键字,感觉挺有用的,就学了下,整理一下学习过程. 首先,connect by和level都是为了快 ...

  3. oracle中md5算法,oracle数据库中存储过程使用MD5算法加密

    一.技术点 1. DBMS_OBFUSCATION_TOOLKIT.MD5 DBMS_OBFUSCATION_TOOLKIT.MD5是MD5编码的数据包函数,但偶在使用select DBMS_OBFU ...

  4. oracle排序desc和,Oracle数据库排序ORDER BY子句的使用总结篇

    在Oracle数据库中,当我们执行查询时,往往要对查询的结果进行排序处理.排序处理是通过ORDER BY子句来实现的.本文我们主要对Oracle数据库查询时的各种排序进行了总结,接下来我们就开始介绍这 ...

  5. 如何将oracle数据库中的表结构导入到sqlserver中,Oracle转换成SqlServer数据库的步骤...

    1 背景 ITM系统目前支持MysqL.Oracle数据库,由于现在需要和CA产品进行结合,用CA产品的采集功能进行数据采集,因此需要使用CA产品的sqlServer数据库,为了使得系统支持sqlse ...

  6. oracle表重命名 索引,CSS_在Oracle数据库中按用户名重建索引的方法,如果你管理的Oracle数据库下某 - phpStudy...

    在Oracle数据库中按用户名重建索引的方法 如果你管理的Oracle数据库下某些应用项目有大量的修改删除操作, 数据索引是需要周期性的重建的. 它不仅可以提高查询性能, 还能增加索引表空间空闲空间大 ...

  7. Oracle数据库中的级联查询、级联删除、级联更新操作教程

    这里整理了Oracle中的三种级联操作,其中Oracle定义外健的时候可以定义级联删除,但是没有级联修改的语法,当然可以用触发器实现,下面我们详细来看Oracle数据库中的级联查询.级联删除.级联更新 ...

  8. oracle数据库中常用的几个非主流函数

    今天我向大家介绍oracle中几个常用但是非主流的函数,有以下几个: COALESCE , DECODE , WM_CONCAT , LISTAGG , ROLLUP ,   开窗函数(分析函数) . ...

  9. Oracle数据库中SQL语句用法(一)

    Copyright © 2019 @Linyer. All Rights Reserved 下接Oracle数据库中SQL语句用法(二)[点击以查看] 目录 第1章:编写基本的SQL SELECT语句 ...

最新文章

  1. Linux中shell命令的用法和技巧
  2. 【转】apache常用配置
  3. 2015-08-07get方式/post方式
  4. docker mysql 报错 “Too many connections 1040“ 修改最大连接数 未生效 解决方法
  5. 转载:谢谢原作者:块设备驱动实战基础篇四 (逐渐成型,加入ioctl通信机制)
  6. php软件升级管理系统,POSCMS开源内容管理系统 v3.6.1 升级说明
  7. 生态和场景一站式集成?来看看小程序的“共享主义”
  8. Redis数据库(二)——Redis高可用、持久化及性能管理
  9. 积米浏览器如何清除浏览数据
  10. Android逆向笔记-IDA Pro动态调试Android程序(真机)
  11. 如何用孩子兄弟表示法存储树c语言,C语言,数据结构,树的孩子兄弟表示法,程序一切正常,但是有个问题不太懂了,园豆不多,帮帮忙,求助一下....
  12. Python实现简易的图书借阅管理系统
  13. 《高等代数学》(姚慕生),习题1.3:n阶行列式
  14. 本周小折腾记录: ipad和电脑完成同屏功能
  15. java画脸_用Java画人脸
  16. ems数字货币运营模式,emstoken是什么,emstoken骗局揭秘
  17. html 标签置底,学习笔记:让元素永久置底的几种方案(css only)
  18. dede密码修改 php,dede忘记后台密码修改程序
  19. 智能暖风机——3.利用B3950实现温度采集功能
  20. 2022-2028全球房地产众筹平台行业调研及趋势分析报告

热门文章

  1. 【干货】百度知识中台白皮书:从数据到知识,知识中台赋能企业智能化升级.pdf(附下载链接)...
  2. 炸裂!微信支付的架构太牛了!(微信跨平台开发框架)
  3. 关于智能推荐的几点思考
  4. 通俗易懂!视觉slam第九部分——光流(Optical Flow)
  5. 业界分享 | 美团搜索排序实践
  6. 浅谈 多任务学习 在推荐系统中的应用
  7. mha数据备份_MySQL备份与恢复之保证数据一致性(5)
  8. signature=0880bf79d1c426abd0c8ca4bc897d06f,index.html
  9. Leetcode每日一题:175.组合两个表
  10. Github的介绍、使用、安装以及个人博客的搭建、美化