《Oracle SQL疑难解析》——1.3 将结果排序

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

本节书摘来自异步社区出版社《Oracle SQL疑难解析》一书中的第1章,第1.3节,作者: 【美】Grant Allen , Bob Bryla , Darl Kuhn,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.3 将结果排序

Oracle SQL疑难解析

1.3.1 要解决的问题

用户想把查询出来的记录按某种顺序排列。例如,他们想把员工先按姓、再按名的字母顺序排列。

1.3.2 解决方法

Oracle允许使用标准的ORDER BY子句来排列查询结果:

select employee_id, first_name, last_name, hire_date, salary
from hr.employees
where salary > 5000
order by last_name, first_name;
得到的结果如下:

EMPLOYEE_ID  FIRST_NAME  LAST_NAME  HIRE_DATE  SALARY
-----------  ----------  ---------  ---------  ------
174      Ellen    Abel      11/MAY/96  11000
166      Sundar    Ande      24/MAR/00    6400
204      Hermann    Baer      07/JUN/94    10000
167      Amit      Banda    21/APR/00    6200
172      Elizabeth  Bates    24/MAR/99  7300
151      David    Bernstein  24/MAR/97  9500
169      Harrison    Bloom    23/MAR/98  10000
148      Gerald    Cambrault  15/OCT/99  11000
154      Nanette    Cambrault  09/DEC/98    7500
110      John      Chen      28/SEP/97  8200
…

1.3.3 数据库如何工作

在ORDER BY 子句的作用下,Oracle先按LAST_NAME字段进行排序,在LAST_NAME的值相同的情况下,再按FIRST_NAME字段来排序。如果用户不在语句中指明升序或降序,则Oracle 隐式使用升序来排列结果,数字是从0到9,字母从A到Z,依此类推。可以用ASC 或DESC选项显式控制升序或降序。例如:

select employee_id, first_name, last_name, hire_date, salary
from hr.employees
where salary > 5000
order by salary desc;

语句中显式地指明了按薪水字段降序排列,得到的结果是:

EMPLOYEE_ID FIRST_NAME LAST_NAME HIRE_DATE SALARY
----------- ---------- --------- --------- ------
    100 Steven    King     17-JUN-87 24000
    102 Lex    De Haan   13-JAN-93 17000
    101 Neena    Kochhar   21-SEP-89 17000
    145 John    Russell   01-OCT-96 14000
    146 Karen    Partners   05-JAN-97 13500
…
相关文章
|
10天前
|
SQL Java 数据库连接
如何在 Java 代码中使用 JSqlParser 解析复杂的 SQL 语句?
大家好,我是 V 哥。JSqlParser 是一个用于解析 SQL 语句的 Java 库,可将 SQL 解析为 Java 对象树,支持多种 SQL 类型(如 `SELECT`、`INSERT` 等)。它适用于 SQL 分析、修改、生成和验证等场景。通过 Maven 或 Gradle 安装后,可以方便地在 Java 代码中使用。
118 11
|
2月前
|
前端开发 Java Maven
深入解析:如何用 Spring Boot 实现分页和排序
深入解析:如何用 Spring Boot 实现分页和排序
113 2
|
2月前
|
SQL IDE 数据库连接
IntelliJ IDEA处理大文件SQL:性能优势解析
在数据库开发和管理工作中,执行大型SQL文件是一个常见的任务。传统的数据库管理工具如Navicat在处理大型SQL文件时可能会遇到性能瓶颈。而IntelliJ IDEA,作为一个强大的集成开发环境,提供了一些高级功能,使其在执行大文件SQL时表现出色。本文将探讨IntelliJ IDEA在处理大文件SQL时的性能优势,并与Navicat进行比较。
44 4
|
2月前
|
负载均衡 Oracle 网络协议
Oracle中TAF与SCANIP全面解析
通过本文的解析,读者可以清晰地理解Oracle中TAF与SCAN IP的概念、工作原理及其在实际应用中的优势和局限性。TAF通过自动故障转移提升了会话的高可用性,而SCAN则通过简化客户端连接和负载均衡提升了集群的可管理性和扩展性。这两种技术在现代企业数据库架构中扮演着重要角色,能够显著提高系统的稳定性和可用性。
150 6
|
2月前
|
SQL 关系型数据库 MySQL
SQL中,可以使用 `ORDER BY` 子句来实现排序功能
【10月更文挑战第26天】SQL中,可以使用 `ORDER BY` 子句来实现排序功能
203 6
|
2月前
|
SQL Java 数据库连接
canal-starter 监听解析 storeValue 不一样,同样的sql 一个在mybatis执行 一个在数据库操作,导致解析不出正确对象
canal-starter 监听解析 storeValue 不一样,同样的sql 一个在mybatis执行 一个在数据库操作,导致解析不出正确对象
|
3月前
|
SQL 监控 数据库
SQL语句是否都需要解析及其相关技巧和方法
在数据库管理中,SQL(结构化查询语言)语句的使用无处不在,它们负责数据的查询、插入、更新和删除等操作
|
2月前
|
SQL 监控 安全
员工上网行为监控软件:SQL 在数据查询监控中的应用解析
在数字化办公环境中,员工上网行为监控软件对企业网络安全和管理至关重要。通过 SQL 查询和分析数据库中的数据,企业可以精准了解员工的上网行为,包括基础查询、复杂条件查询、数据统计与分析等,从而提高网络管理和安全防护的效率。
47 0
|
3月前
|
SQL 数据可视化 BI
SQL语句及查询结果解析:技巧与方法
在数据库管理和数据分析中,SQL语句扮演着至关重要的角色
|
3月前
|
SQL 监控 关系型数据库
SQL错误代码1303解析与处理方法
在SQL编程和数据库管理中,遇到错误代码是常有的事,其中错误代码1303在不同数据库系统中可能代表不同的含义

热门文章

最新文章

推荐镜像

更多