oracle 查询结果的排序,ASC/DESC,升序,降序,多列排序,ORDER BY

oracle基础|oracle排序用法|order by用法|where用法 目录 1、Order by 子句的使用 2、Where子句的使用 1、Order by 子句的使用 select column.... from .... order by ... 1) Order by子句在整个 select语句中的位置: 始终位于最后 2) order by后可以跟什么: 列名,列的别名,表达式, 列出现在select关键字后的 顺序(列号); 3) order by... 阅读详情
AI摘要

本文介绍Oracle数据库中查询结果的排序方法,包括基本的升序和降序排序、多列排序及如何在排序中使用别名等高级技巧。通过具体示例帮助读者掌握ORDER BY子句的应用。

oracle 查询结果的排序,ASC/DESC,升序,降序,多列排序,ORDER BY


oracle 查询结果的排序,ASC/DESC,升序,降序,多列排序,ORDER BY,一些练习题
关键字: oracle 查询 结果 排序 asc desc 升序降序 多列 order by一些 练习题
查询结果的排序
 
显示EMP表中不同的部门编号。
如果要在查询的同时排序显示结果,可以使用如下的语句:
Sql代码
SELECT 字段列表 FROM 表名 WHERE 条件  
        ORDER BY 字段名1 [ASC|DESC][,字段名2 [ASC|DESC]...]; 
 
SELECT 字段列表 FROM 表名 WHERE 条件
        ORDER BY 字段名1 [ASC|DESC][,字段名2 [ASC|DESC]...];
ORDER BY从句后跟要排序的列。ORDER BY 从句出现在SELECT语句的最后。
排序有升序和降序之分,ASC表示升序排序,DESC表示降序排序。如果不指明排序顺序,默认的排序顺序为升序ASC。如果要降序,必须书写DESC关键字
1.升序排序 
【训练1】  查询雇员姓名和工资,并按工资从小到大排序。
输入并执行查询:
Sql代码
SELECT ename, sal FROM emp ORDER BY sal; 
 
SELECT ename, sal FROM emp ORDER BY sal;
执行结果为:
Sql代码
ENAME            SAL  
        ------------- --------------------  
        SMITH             800  
        JAMES             950 
 
ENAME            SAL
        ------------- --------------------
        SMITH             800
        JAMES             950
注意:若省略ASC和DESC,则默认为ASC,即升序排序。
2.降序排序 
【训练2】  查询雇员姓名和雇佣日期,并按雇佣日期排序,后雇佣的先显示。
输入并执行查询:
Sql代码
SELECT ename,hiredate FROM emp ORDER BY hiredate DESC; 
 
SELECT ename,hiredate FROM emp ORDER BY hiredate DESC;
结果如下:
Sql代码
ENAME       HIREDATE  
        ------------- -----------------------  
        ADAMS       23-5月 -87  
        SCOTT       19-4月 -87  
MILLER      23-1月 -82  
        JAMES       03-12月-81  
        FORD        03-12月-81 
 
ENAME       HIREDATE
        ------------- -----------------------
        ADAMS       23-5月 -87
        SCOTT      19-4月 -87
MILLER     23-1月 -82
        JAMES      03-12月-81
        FORD       03-12月-81
注意: DESC表示降序排序,不能省略。
3.多列排序
可以按多列进行排序,先按第一列,然后按第二列、第三列......。
  【训练3】  查询雇员信息,先按部门从小到大排序,再按雇佣时间的先后排序。
输入并执行查询:
Sql代码
SELECT ename,deptno,hiredate FROM emp ORDER BY deptno,hiredate; 
 
SELECT ename,deptno,hiredate FROM emp ORDER BY deptno,hiredate;
结果如下:
Sql代码
ENAME       DEPTNO HIREDATE  
        ---------------- ----------------- ---------------  
        CLARK                  10 09-6月 -81  
        KING                   10 17-11月-81  
        MILLER                 10 23-1月 -82  
        SMITH                  20 17-12月-80  
        JONES                  20 02-4月 -81  
        FORD                   20 03-12月-81  
        SCOTT                  20 19-4月 -87 
 
ENAME       DEPTNO HIREDATE
        ---------------- ----------------- ---------------
        CLARK                  10 09-6月 -81
        KING                   10 17-11月-81
        MILLER                 10 23-1月 -82
        SMITH                  20 17-12月-80
        JONES                  20 02-4月 -81
        FORD                   20 03-12月-81
        SCOTT                  20 19-4月 -87
说明:该排序是先按部门升序排序,部门相同的情况下,再按雇佣时间升序排序。
4.在排序中使用别名
如果要对计算列排序,可以为计算列指定别名,然后按别名排序。
  【训练4】  按工资和工作月份的乘积排序。
输入并执行查询:
Sql代码
SELECT empno, ename, sal*Months_between(sysdate,hiredate) AS total FROM emp   
        ORDER BY total; 
 
SELECT empno, ename, sal*Months_between(sysdate,hiredate) AS total FROM emp
        ORDER BY total;
执行结果为:
Sql代码
EMPNO ENAME         TOTAL  
    ------------ ------------- ----------------------  
        7876    ADAMS       221526.006  
        7369    SMITH       222864.661  
        7900    JAMES       253680.817  
         7654   MARTIN      336532.484 
 
 EMPNO ENAME         TOTAL
        ------------ ------------- ----------------------
            7876    ADAMS       221526.006
            7369    SMITH      222864.661
            7900    JAMES      253680.817
         7654   MARTIN      336532.484
sysdate获取当前日期。
 
练习题:
 
1.SQL语言中用来创建、删除及修改数据库对象的部分被称为:
A. 数据库控制语言(DCL)
B. 数据库定义语言(DDL)
C. 数据库操纵语言(DML)
D. 数据库事务处理语言
 
2.执行以下查询,表头的显示为:
    Sql代码
SELECT sal "Employee Salary" FROM emp 
 
 SELECT sal "Employee Salary" FROM emp
     A. EMPLOYEE SALARY B. employee salary
     C. Employee Salary D. "Employee Salary“
3.执行如下两个查询,结果为:
Sql代码
SELECT ename name,sal salary FROM emp order by salary;  
        SELECT ename name,sal "SALARY" FROM emp order by sal ASC; 
 
SELECT ename name,sal salary FROM emp order by salary;
        SELECT ename name,sal "SALARY" FROM emp order by sal ASC;
A. 两个查询结果完全相同
B. 两个查询结果不相同
C. 第一个查询正确,第二个查询错误
D. 第二个查询正确,第一个查询错误
4.参考本章的emp表的内容执行下列查询语句,出现在第一行上的人是:
Sql代码
SELECT ename FROM emp WHERE deptno=10 ORDER BY sal DESC; 
 
SELECT ename FROM emp WHERE deptno=10 ORDER BY sal DESC;
A. SMITH B. KING
C. MILLER D. CLARK
5.哪个函数与||运算有相同的功能:
A. LTRIM B. CONCAT
C. SUBSTR D. INSTR
6.执行以下语句后,正确的结论是:
Sql代码
SELECT empno,ename FROM emp WHERE hiredate
 
SELECT empno,ename FROM emp WHERE hiredate
A. 显示给定日期后100天以内雇佣的雇员信息
B. 显示给定日期前100天以内雇佣的雇员信息
C. 显示给定日期100天以后雇佣的雇员信息
D. 显示给定日期100天以前雇佣的雇员信息
7.执行以下语句出错的行是:
      Sql代码
SELECT deptno,max(sal) FROM emp   
             WHERE job IN('CLERK','SALEMAN','ANALYST')  
             GROUP BY deptno  
              HAVING sal>1500; 
 
SELECT deptno,max(sal) FROM emp
             WHERE job IN('CLERK','SALEMAN','ANALYST')
             GROUP BY deptno
              HAVING sal>1500;
A. 第一行 B. 第二行
C. 第三行 D. 第四行
8.执行以下语句出错的行是:
Sql代码
SELECT deptno,max(avg(sal))   
        FROM emp   
        WHERE sal>1000  
        Group by deptno; 
 
SELECT deptno,max(avg(sal))
        FROM emp
        WHERE sal>1000
        Group by deptno;
A. 第一行 B. 第二行
C. 第三行 D. 第四行
9.执行以下语句出错的行是:
Sql代码
SELECT deptno,dname,ename,sal   
FROM emp,dept  
WHERE emp.deptno=dept.deptno  
AND sal>1000; 
 
SELECT deptno,dname,ename,sal
FROM emp,dept
WHERE emp.deptno=dept.deptno
AND sal>1000;
A. 第一行 B. 第二行
C. 第三行 D. 第四行
10. 以下语句出错,哪种改动能够正确执行:
Sql代码
SELECT   deptno, max(sal)  
FROM emp  
GROUP BY deptno  
WHERE   max(sal)>2500; 
 
SELECT   deptno, max(sal)
FROM emp
GROUP BY deptno
WHERE   max(sal)>2500;
A. 将WHERE和GROUP BY 语句顺序调换一下
B. 将WHERE max(sal)>2500语句改成HAVING max(sal)>2500
C. 将WHERE max(sal)>2500语句改成WHERE sal>2500
D. 将WHERE max(sal)>2500语句改成HAVING sal>2500
11. 以下语句的作用是:
Sql代码
SELECT ename,sal FROM emp  
        WHERE sal<(SELECT min(sal) FROM emp)+1000; 
 
SELECT ename,sal FROM emp
        WHERE sal<(SELECT min(sal) FROM emp)+1000;
A. 显示工资低于1000元的雇员信息
B. 将雇员工资小于1000元的工资增加1000后显示
C. 显示超过最低工资1000元的雇员信息
D. 显示不超过最低工资1000元的雇员信息
12. 以下语句的作用是:
Sql代码
SELECT  job FROM emp WHERE deptno=10  
        MINUS  
        SELECT  job FROM emp WHERE deptno=20; 
 
SELECT  job FROM emp WHERE deptno=10
        MINUS
        SELECT  job FROM emp WHERE deptno=20;
A. 显示部门10的雇员职务和20的雇员职务
B. 显示部门10和部门20共同的雇员职务
C. 显示部门10和部门20不同的雇员职务
D. 显示在部门10中出现,在部门20中不出现的雇员职务
【可信数据空间-连接器技术架构设计方案】 一句话概括连接器是可信数据空间的“数据保镖”和“外交官”。连接器就是一个部署在你本地的软件代理,它代表你安全地对外提供数据服务,确保在共享数据价值的同时,牢牢守住数据的所有权和控制权。它是实现“数据可用不可见”这一理想的关键技术部件。一个生动的比喻:银行的金库和接待员想象一下,你的数据就是藏在银行金库里的黄金和钞票。金库(你的内部数据库): 绝对安全,外人绝对不能进。接待员(连接器): 坐在银行大厅里,负责与客户打交道。客户向接待员提出请求:“我想取1000元。 阅读详情

相关推荐

Profinet从站开发初体验:用p-net开源库和树莓派快速搭建一个IO设备模拟器

本文详细介绍了如何使用p-net开源库和树莓派快速搭建Profinet从站IO设备模拟器。从开发环境准备、p-net源码编译到设备模拟器功能实现,提供了全流程实战指南,帮助开发者快速掌握工业通信协议开发技巧,适用于工业自动化领域的设备互联测试与验证。

weixin_30384217的博客 383

Oracle DBA常用表

一、DBA常用的表 1.1 dba_开头 dba_users 数据库用户信息 dba_segments 表段信息 dba_extents 数据区信息 dba_objec...

cilici3048的博客 594

Visual Studio Code 打开java项目

在 Visual Studio Code 中打开并运行一个 Java 项目之前,你需要确保你已经完成了一些初始设置。

2674

ORACLE ORDER BY的多种排序

1. 按单个字段排序 升序:ORDER BY ASC(默认) 降序:ORDER BY DESC 以指定的次序返回查询结果实际提取数据或生成报表时,一般都要根据一定的顺序查看,比如,想查看单位所雇员工的信息。 SELECT empno, ename, hiredate FROM emp WHERE deptno = 10 ORDER BY hiredate ASC; 给查询结果排序这种语句很多人都会写,但除了“ORDER BY hiredate ASC”这种写法外,还可以写成“ ORDER

terence的博客 9万+

PX4|Gazebo模型加载失败排查指南:从环境变量到资源路径的全面解析

本文针对PX4与Gazebo联合仿真中常见的'Unable to get model name'错误,提供了从环境变量配置、资源路径排查到网络访问问题的全面解决方案。详细解析了GZ_SIM_RESOURCE_PATH等关键变量的作用与设置方法,并给出了离线模型库部署等一劳永逸的修复指南,帮助开发者彻底解决无人机模型加载失败问题。

weixin_29243063的博客 1230

AI自主网络攻击技术深度解析:从LLM驱动到防御体系升级

网络安全领域正经历从自动化脚本到智能自主攻击的范式转变。其核心原理在于将大型语言模型(LLM)与自动化渗透测试框架深度融合,构建具备环境感知、决策规划和自适应能力的攻击系统。这种技术的核心价值在于实现了从预设步骤到目标驱动的质变,能自主完成信息收集、漏洞利用、横向移动等复杂攻击链。在应用场景上,它不仅能极大提升高级持续性威胁(APT)的攻击效率,也对渗透测试和红队演练技术提出了新的要求。面对此类由AI驱动的自主攻击,传统的基于签名的防御体系已显不足,必须转向以行为分析和零信任为核心的整体纵深防御。本次曝光的

weixin_34254464的博客 606

oracle 常用命令 desc,ORACLE常用命令

1 如何查看数据库中都有什么表?select * from sys.user_tables;2 如何链接数据库sqlplus /nolog;conn sys/oracle as sysdba;3 如何启动数据库startup;4 查看ORACLE实例结构desc V$instance;5 查看用户默认表空间、临时表空间信息select distinct username,DEFAULT_TABLE...

weixin_30405507的博客 1531

成本150元的高性能RDP协议瘦客户机

云终端市场是一个跨度很大的市场。既有数千元的品牌的瘦客户机,也有几百元的瘦客户机,还有200-300元的支持RDP协议的多用户云终端。但是200-300元的多用户终端,在显示性能上不尽人意,一般用于地产中介门店,工厂产线的电子看板等场合。有没有性能更好,价格更低的方案呢? 答案是有。 这个方案就是 二手的x86 瘦客户机 + DoraOS瘦客户机系统免费版(仅支持RDP)。 首先我们看硬件,在某宝搜索 升腾C92 ,找到最低配置的( CPU:J1800,内存:2G,硬盘:8G)。价格都在150以内。

云飞扬的桌面云 7412

Oracle Ascii& Asciistr()函数使用介绍以及常用字符ASCII码对应表

Asciistr ASCII chr(9) tab空格 chr(10) 换行 chr(13) 回车 Chr(13)&amp;chr(10) 回车换行 chr(32) 空格符 chr(34) 双引号 chr(39) 单引号 chr(33) ! chr(34) " chr(35) # chr(36) $ ...

赵延东的一亩三分地 18万+

基于MYD-YT153与AD7616的16通道高速ADC采集系统实战指南

在嵌入式系统与工业数据采集领域,模拟信号采集是连接物理世界与数字系统的关键技术。其核心原理是通过模数转换器(ADC)将连续的模拟电压信号转换为离散的数字码值,供处理器处理。这项技术的价值在于实现了对温度、压力、振动等关键物理量的精确感知与数字化,是工业自动化、设备监测、科学实验等场景的基石。本文聚焦于**多通道**、**高精度**采集这一常见需求,深入剖析如何利用全志T153处理器的LocalBus并行总线接口,高效驱动ADI的16位、16通道同步采样ADC芯片AD7616,构建一个稳定可靠的高速数据采集系

weixin_30335353的博客 443

气象水文资料预处理:缺测数据插补延长等

简介气象水文资料预处理

WW、forever的博客 3772

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

在Oracle数据库中,当我们执行查询时,往往要对查询的结果进行排序处理。排序处理是通过ORDER BY子句来实现的。本文我们主要对Oracle数据库查询时的各种排序进行了总结,接下来我们就开始介绍这些。按拼音排序 (系统默认)select * from perexl order by nlssort(danwei,'NLS_SORT=SCHINESE_PINYIN_M');按部首排序select...

weixin_36031304的博客 2476

YOLOv8n轻量化实战:10分钟打通实时摄像头目标检测,附参数调优与避坑指南

本文介绍了如何快速入门YOLOv8目标检测框架,通过摄像头实战实现实时检测。YOLOv8凭借轻量化架构和跨平台优势,是新手入门的理想选择。文章详细讲解了环境搭建(1分钟完成)、核心代码逻辑(3分钟掌握)以及性能调优技巧(3分钟进阶),提供可直接运行的代码示例。重点包括:模型选择(优先yolov8n.pt)、摄像头参数优化、置信度阈值调整、检测类别指定等实用技巧,帮助开发者快速实现10-15FPS的实时检测效果,并针对不同场景提供优化建议。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 370

oracle 查询结果的排序,ASC/DESC,升序,降序,多列排序,ORDER BY,一些练习题

sunshine0990的专栏 1万+

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

mysql与oracle的升序与降序_oracle 查询结果的排序,ASC/DESC,升序,降序,多列排序,ORDER BY...

oracle 查询结果的排序,ASC/DESC,升序,降序,多列排序,ORDER BY,一些练习题关键字: oracle 查询 结果 排序 asc desc 升序降序 多列 order by一些 练习题查询结果的排序显示EMP表中不同的部门编号。如果要在查询的同时排序显示结果,可以使用如下的语句:Sql代码SELECT 字段列表 FROM 表名 WHERE 条件ORDER BY 字段名1 [ASC...

weixin_39617006的博客 564

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

oracle查询排序asc/desc 多列 order by

查询结果的排序 显示EMP表中不同的部门编号。 如果要在查询的同时排序显示结果,可以使用如下的语句: Sql代码 SELECT 字段列表 FROM 表名 WHERE 条件            ORDER BY 字段名1 [ASC|DES

5万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Oracle Order By用法详解

在这个例子中,Oracle首先按first_name升序对行进行排序,以创建初始结果集。但是ASC是可选的,如果省略,则在默认情况下,ORDER BY子句按指定的列按升序对行进行排序。从上面截图中可以看到,contact_id为91和311这两条记录的first_name的值相同,last_name的值是以降序来排列的。ORDER BY子句可在一列上应用一个函数,例如字符串函数,数学函数等,并按函数的结果对数据进行排序。例如,以下语句按升序对state列进行排序,并首先将NULL值放置在前面。

weixin_51705943的博客 1917

oracle 查数据降序,oracle 查询结果的排序,ASC/DESC,升序,降序,多列排序,ORDER BY,一些练习题 - 笔记 - 李敏 - 优快云学生大...

oracle查询结果的排序,ASC/DESC,升序,降序,多列排序,ORDERBY,一些练习题关键字: oracle 查询 结果 排序 asc desc 升序降序多列 order by一些 练习题SELECT字段名1 [ASC|DESC][,字段名字段名1 [ASC|DESC][,字段名ORDER BY从句后跟要排序的列。ORDER BY从句出现在SELECT语句的最后。排序有升序和降序之分,AS...

weixin_32941303的博客 3085

Oracle学习——对查询结果排序order by、查询语句中列的别名、连接符、字符串

查询语句中列的别名、连接符、字符串 列的别名: 用于改变列的显示标题,列别名可以跟在列名的后面,也可以在二者之间加AS关键字。如果别命中包含空格或特殊的字符或者需要区分大小写,那么需要给别名加上双引号。 举例: a.不使用列的别名 SELECT empno,ename,sal*12 FROM emp; // empno雇员编号 ename 雇员姓名 sal 月工资 b.使用列的别...

yb970521的博客 3211

Oracle DB Order By子句

使用ORDER BY 子句 • 使用ORDER BY 子句可对检索行进行排序: – ASC :升序,默认顺序 – DESC:降序 • ORDER BY 子句位于SELECT 语句的最后: hr@TEST0924> SELECT last_name, job_id, department_id, hire_date FROM employees ORDER BY hire_date

一抹曦阳-Oracle 5691

oracle orderby多个字段,Oracle Order By用法详解

OracleORDERBY子句基本用法在Oracle中,表中是以非指定顺序存储行数据记录的,它不管行插入数据库的顺序如何。要按列以升序或降序查询行记录,必须明确指示Oracle数据库要如何去排序。例如,您可能希望按名称的字母顺序列出所有客户,或者按照从最低到最高信用限额的顺序显示所有客户。要对数据进行排序,我们可以将ORDERBY子句添加到SELECT语句中,参考以下语法:SELECTcol...

weixin_42346710的博客 5051

【SQL教程】Day04-05:排序操作与ORDER BY子句

在 SQL 查询中,排序是常见的操作之一,帮助我们以特定的顺序查看结果集。默认情况下,数据库查询结果往往按id主键进行排序,但如果你想根据其他字段排序,可以使用ORDER BY子句来指定排序条件。

max202011161630的博客 1118

Oracle语句第1期:order by的用法

ORDER BY 列1 [ASC|DESC], 列2 [ASC|DESC], ...;文本排序可能受数据库字符集影响(如中文按拼音排序需特殊配置)。使用列在 `SELECT` 中的位置编号(从1开始)。对未索引的列排序可能导致查询变慢,尤其在处理大量数据时。-- 综合示例:按部门升序、工资降序、入职日期升序排列。-- 先按班级升序,同班级按成绩降序。- `ASC`:升序(默认,可省略)-- 按年龄升序(默认 ASC)-- 按第2列(age)排序。-- 按平均成绩降序排列班级。- `DESC`:降序。

CC的博客 494
上一篇: Spring-事物的处理方式。。。
下一篇: Oracle 左连接、右连接、全外连接、(+)号作用
Aurora Polaris
博客等级 码龄17年 384粉丝 91原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值