查询排序(1)

Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645

前面介绍了在 SQL 限定查询中 WHERE 子句的运行顺序优先于 SELECT 子句,WHERE 子句确定数据行,SELECT 子句确定数据列。

也分别讲述了在 WHERE 子句中常用的运算符号以及关系逻辑运算 BETWEEN … AND、IN、IS NULL、LIKE 的使用方法

在默认情况下进行数据查询的时候,SQL 限定查询会按照自然顺序进行数据的排列。

例如,查询数据表 emp

SQL> select * from emp;EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------7369 SMITH                CLERK                    7902 17-12月-80            800                    207499 ALLEN                SALESMAN                 7698 20-2月 -81           1600        300         307521 WARD                 SALESMAN                 7698 22-2月 -81           1250        500         307566 JONES                MANAGER                  7839 02-4月 -81           2975                    207654 MARTIN               SALESMAN                 7698 28-9月 -81           1250       1400         307698 BLAKE                MANAGER                  7839 01-5月 -81           2850                    307782 CLARK                MANAGER                  7839 09-6月 -81           2450                    107839 KING                 PRESIDENT                     17-11月-81           5000                    107844 TURNER               SALESMAN                 7698 08-9月 -81           1500          0         307900 JAMES                CLERK                    7698 03-12月-81            950                    307902 FORD                 ANALYST                  7566 03-12月-81           3000                    20

自然顺序是不可控的,所以往往需要由用户自己来进行排序操作

那么这个时候就可以使用 order by 子句,而此时的 SQL 语法结构就变为了如下形式

 

得出一条结论:

●  确定数据来源: form表名称

●  筛选数据行: [where限定条件 (s)]。

●  选出所需要的数据列: select [distinct] * | 列, 列, 列…

●  数据排序: [order by 排序字段 [asc| desc] , 排序字段 [asc| desc] , ...] 

既然 ORDER BY 是在 SELECT 子句之后运行,那么就意味着 ORDER BY 可以使用 SELECT 子句定 义的别名

但是对于字段排序有两种形式

●  升序: ASC,默认不写排序也是升序

●  降序: DESC,由高到低进行排序 

1.按照工资由高到低排序

SQL> select *2  from emp3  order by sal desc;EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------8989 HELLO7839 KING                 PRESIDENT                     17-11月-81           5000                    107902 FORD                 ANALYST                  7566 03-12月-81           3000                    207566 JONES                MANAGER                  7839 02-4月 -81           2975                    207698 BLAKE                MANAGER                  7839 01-5月 -81           2850                    307782 CLARK                MANAGER                  7839 09-6月 -81           2450                    107499 ALLEN                SALESMAN                 7698 20-2月 -81           1600        300         307844 TURNER               SALESMAN                 7698 08-9月 -81           1500          0         307934 MILLER               CLERK                    7782 23-1月 -82           1300                    107521 WARD                 SALESMAN                 7698 22-2月 -81           1250        500         307654 MARTIN               SALESMAN                 7698 28-9月 -81           1250       1400         30

 排序可以在任意数据类型上进行,字符串、日期都可以

2.按照雇佣日期由早到晚排序

SQL> select *2  from emp3  order by hiredate asc;EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------7369 SMITH                CLERK                    7902 17-12月-80            800                    207499 ALLEN                SALESMAN                 7698 20-2月 -81           1600        300         307521 WARD                 SALESMAN                 7698 22-2月 -81           1250        500         307566 JONES                MANAGER                  7839 02-4月 -81           2975                    207698 BLAKE                MANAGER                  7839 01-5月 -81           2850                    307782 CLARK                MANAGER                  7839 09-6月 -81           2450                    107844 TURNER               SALESMAN                 7698 08-9月 -81           1500          0         307654 MARTIN               SALESMAN                 7698 28-9月 -81           1250       1400         307839 KING                 PRESIDENT                     17-11月-81           5000                    107900 JAMES                CLERK                    7698 03-12月-81            950                    307902 FORD                 ANALYST                  7566 03-12月-81           3000                    20

可以发现数据按照 hiredate 由远到近进行排列显示,如果想时间顺序由近到 远排序,则可以使用“SELECT * FROM emp ORDER BY hiredate” 语句

除了可以进行单一字段的排序,也可以进行字段的混合排序操作。也就是说可以进行若干个字段的排序

3.按照工资由高到低排序(降序),如果工资相同,则按照雇佣日期由早到晚排序(升序)

SQL> select *2  from emp3  order by sal desc,hiredate;EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------8989 HELLO7839 KING                 PRESIDENT                     17-11月-81           5000                    107902 FORD                 ANALYST                  7566 03-12月-81           3000                    207566 JONES                MANAGER                  7839 02-4月 -81           2975                    207698 BLAKE                MANAGER                  7839 01-5月 -81           2850                    307782 CLARK                MANAGER                  7839 09-6月 -81           2450                    107499 ALLEN                SALESMAN                 7698 20-2月 -81           1600        300         307844 TURNER               SALESMAN                 7698 08-9月 -81           1500          0         307934 MILLER               CLERK                    7782 23-1月 -82           1300                    107521 WARD                 SALESMAN                 7698 22-2月 -81           1250        500         307654 MARTIN               SALESMAN                 7698 28-9月 -81           1250       1400         30

4.查询所有办事员的编号、职位、年薪,按照年薪由高到低排序

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/646866.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度学习模型选择

作为机器学习科学家,我们的目标是发现模式(pattern)。 但是,我们如何才能确定模型是真正发现了一种泛化的模式, 而不是简单地记住了数据呢?接下来介绍几种模型选择时候需要注意的点 误差 训练误差 训练误…

Beego之Beego MVC架构介绍

1、beego MVC架构介绍 beego 是一个典型的 MVC 框架,它的整个执行逻辑如下图所示: 通过文字来描述如下: 1、在监听的端口接收数据,默认监听在 8080 端口。 2、用户请求到达 8080 端口之后进入 beego 的处理逻辑。 3、初始化 C…

智能风控体系之层次分析法专家评分卡

层次分析法 (Analytic Hierarchy Process,简称 AHP) 由美国运筹学家托马斯 塞蒂 (T. L. Saaty) 于上世纪70年代中期提出,是通过定量与定性分析相结合的方法来进行多方案或多目标决策分析的一种方法。该方法的主要思想是通过将一个复杂的问题分解为若干层…

【数据库学习】pg安装与运维

1,安装与配置 #安装 yum install https:....rpm1)安装目录 bin目录:二进制可执行文件目录,此目录下有postgres、psql等可执行程序;pg_ctl工具在此目录,可以通过pg_ctl --help查看具体使用。 conf目录&…

Nginx日志检测分析工具 - WGCLOUD

WGCLOUD可以对Nginx的日志文件进行全面分析,包括IP、sql注入攻击、搜索引擎蜘蛛爬取记录、HTTP响应状态码、访问量最高的IP统计、扫描攻击统计等 效果如下图

C#winform上位机开发学习笔记13-串口助手显示系统时间功能添加

1.功能描述 在上位机中显示系统的实时时间 2.代码部分 步骤1:添加文本框控件并设置参数 #此处注意将BackColor颜色修改为非Control,即可正常显示ForeColor颜色,否则该颜色不变,原因暂且不明。 步骤2:添加timer控件…

Linux/Doctor

Enumeration nmap 已知目标开放了22,80,8089端口,扫描详细情况如下 可以看到对外开放了22,80,8089三个端口 TCP/80 SSTI 访问80端口,有一个infodoctors.htb的电子邮件,点击其他的也没有什么反应,猜测有可能需要域名访问 在/et…

[每日一题] 01.25 - 子数整数

子数整数 k int(input()) flag False for i in range(10000,30001):a,b,c [int(str(i)[j:j 3]) for j in range(3)]if a % k 0 and b % k 0 and c % k 0:print(i)flag Trueif not flag:print(No)

Python批量采集亚马逊商品数据

嗨喽~大家好呀,这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 知识点: 爬虫基本流程 非结构化数据解析 开发环境: python 3.8 解释器, 运行代码 pycharm 随便 配置 python解释器 DrissionPage >>> p…

前出深入-机器学习

文章目录 一、K近邻算法1.1 先画一个散列图1.2 使用K最近算法建模拟合数据1.3 进行预测1.4 K最近邻算法处理多元分类问题1.5 K最近邻算法用于回归分析1.6 K最近邻算法项目实战-酒的分类1.6.1 对数据进行分析1.6.2 生成训练数据集和测试数据集1.6.3 使用K最近邻算法对数据进行建…

阿里云服务器部署幻兽帕鲁联机服务器详细教程

幻兽帕鲁是一款备受欢迎的多人在线游戏,其联机服务器对于游戏的稳定运行至关重要。本文将详细介绍如何在阿里云服务器上部署幻兽帕鲁联机服务器,新手小白也能轻松搭建并管理自己的游戏环境。 还未购买阿里云服务器可以参照下面的步骤部署,已经…

Vue+OpenLayers7入门到实战:在地图上添加缩放控件、比例尺控件和鼠标经纬度位置显示控件

返回《Vue+OpenLayers7》专栏目录:Vue+OpenLayers7 前言 本章主要介绍如何使用OpenLayers7在地图上添加地图缩放控件,比例尺显示控件和鼠标经纬度位置展示控件这三个Control控件。 二、依赖和使用 "ol": "7.5.2"使用npm安装依赖npm install ol@7.5.…

【SpringBoot】mybatis基础操作

mybatis入门 1.mybatis准备操作 创建数据库: CREATE DATABASE mybatis_test DEFAULT CHARACTER SET utf8mb4; -- 使⽤数据数据 USE mybatis_test; -- 创建表[用户表] DROP TABLE IF EXISTS userinfo; CREATE TABLE userinfo ( id INT ( 11 ) NOT NULL AUTO_INCRE…

LeetCode刷题---分隔链表

解题思路: 根据题意对链表进行分割 创建链表l用来表示小于给定值x的链表,创建辅助链表left指向l的初始节点 创建链表r用来表示大于等于给定值x的链表,创建辅助链表right指向r的初始节点 创建辅助链表cur,指向head节点 对原链表进行遍历 如果当前节点的va…

Flink多流转换(2)—— 双流连结

双流连结(Join):根据某个字段的值将数据联结起来,“配对”去做处理 窗口联结(Window Join) 可以定义时间窗口,并将两条流中共享一个公共键(key)的数据放在窗口中进行配…

五、垃圾回收

1. 垃圾回收基础 1.1 什么是垃圾 简单说就是:内存中已经不再被使用到的内存空间就是垃圾。 1.2 如何判定是垃圾 1.2.1 引用计数法 引用计数法:给对象添加一个引用计数器,有访问就 1,引用失效就 -1 引用计数法的优缺点&#…

抖音信息流广告引流,这种方法你要知道-数灵通

随着抖音的普及,我们经常会在刷视频的过程中遇到各种广告。这些广告不仅种类繁多,而且形式各异。除了常见的开屏广告和达人合作广告,信息流广告也是抖音广告的一种重要形式。那么,什么是信息流广告呢? 信息流广告是一种…

03. 静态路由

文章目录 一. 静态路由概述1.1. 概述1.2. 路由信息获取方式1.3. 路由表的参数1.4. 路由协议的优先级1.5. 最优路由条目优先1.6. 最长前缀匹配原则 二. 实验实操2.1. 实验1:静态路由2.1.1. 实验目的2.1.2. 实验拓扑图2.1.3. 实验步骤(1)配置网…

数据结构——双链表

双链表中节点类型的描述: 双链表的初始化(带头结点) 、 双链表的插入操作 后插操作 InsertNextDNode(p, s): 在p结点后插入s结点 按位序插入操作: 思路:从头结点开始,找到某个位序的前驱结点&#xff…

周鸿祎回应坚定支持华为:因为 360 也被制裁了

在昨天的华为鸿蒙生态千帆启航仪式上,360集团创始人兼CEO周鸿祎发表演讲表示,360坚定地支持华为的决定源于双方都曾遭到制裁。周鸿祎在演讲中提到:“在华为最早被制裁的时候,我们是少数几个公开站出来坚定支持华为的公司。其实也很…