第二天

Oracle 数据库查询排序

  • 什么叫查询排序呢?
    • 在SQL定义的过程之中,默认情况下都是根据ID进行排序,也就是说如果现在要进行查询的时候,在Oracle中会根据数据的创建时间,以及各个因素实现排序处理(每个数据库都不一样)。
      那么如果要进行指定字段的排序,例如:工资、雇用日期等等,这个时候就可以采用ORDER BY子句完成处理。那么此时的SQL语句格式如下:

第三步:SELECT [DISTINCT] * | 列名称 [别名],列名称[别名],... | 数据计算
第一步:FROM 数据表 [别名]
第二步:[WHERE 限定条件(s)]
第四步:[ORDER BY 排序字段 [ASC | DESC],排序字段 [ASC | DESC],...];


之所以强调执行顺序是由原因的,就比如SELECT定义的别名WHERE不能够使用,因为WHERE在SELECT之前执行。但是ORDER BY子句可以使用,因为ORDER BY子句在SELECT之后执行。
之所以强调执行顺序,就是因为别名的问题。
在进行排序的时候,有两种排序模式

  • ASC:升序,如果不编写排序模式,则默认为此模式;
  • DESC:降序。
    语法:
    SELECT * FROM emp ORDER BY sal;写与不写现在sal数据列的排序就是升序的。
    SELECT * FROM emp ORDER BY sal ASC;
    SELECT * FROM emp ORDER BY sal DESC;
    范例:查询所有雇员信息,要求按照工资由高到低,如果工资相同,则按照雇佣日期,由早到晚排序。(此时一定设置的是多个排序条件)
    SELECT * FROM emp ORDER BY sal DESC , hiredate ASC;
    范例:也可以进行数据筛选后排序即WHERE后查询。
    ORDER BY 可以使用SELECT的别名。
    范例:查询每个雇员的编号,姓名,年薪,并且按照年薪由高到低排序。
    SELECT empno , ename,sal*12 income FROM emp ORDER BY income DESC;
    ORDER BY 永远都在最后执行, 也就是说排序是在所有数据都进行筛选完毕后再进行处理。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 主流关系型数据库 关系型数据库存储数据的特点 结构化查询语言: 数据类型: select * from emp; ...
    陈先森mansplain阅读 4,127评论 0 0
  • 1.简介 数据存储有哪些方式?电子表格,纸质文件,数据库。 那么究竟什么是关系型数据库? 目前对数据库的分类主要是...
    乔震阅读 5,888评论 0 2
  • SQL ==SQLPLUS== DML(Data Manipulation Language,数据操作语言)---...
    蝌蚪1573阅读 3,709评论 0 4
  • 查询是数据的一个重要操作。用户发送查询请求,经编译软件变异成二进制文件供服务器查询,后返回查询结果集给用户,查询会...
    产品小正阅读 5,312评论 0 2
  • 不爱口水仗,这篇只发在简书,不转去微博。 昨天发了篇讲招聘经验的文章,没想到在微博引来连环炮轰:http://ww...
    纯银V阅读 5,865评论 0 12

友情链接更多精彩内容