首页 > 数据库 >SQLCookbook 学习笔记 2结果排序

SQLCookbook 学习笔记 2结果排序

时间:2022-10-09 14:00:33浏览次数:53  
标签:sal 笔记 job comm emp 排序 SQLCookbook select


select name from emp order by salary;
ORDER BY 默认是按照升序排列, 当需要倒序时 用 ORDRE BY salary DESC


ORDER BY  不一定要基于列名 ,也可以用数字表示 基于第几列:
select name from emp order by 3;         salary是从左到右第三列。


按照多个字段排序


select * from emp order by depno, salary desc;
按照部门升序,在部门内部按照工资降序排列。


按字串排序
select *from  emp order by substr(job,length(job) - 2)
按照工作字段的 最后两个字符排序。


对字母数字混合的排序
MySQL不支持TRANSLATE函数,无解决方案。


处理排序空值
使用CASE 将空值 转化为 0 或者1,这样可以控制空值在排序中的位置。


select ename,sal,comm
from (
select ename,sal,comm,
case when comm is null then 0 else 1 end as is_null
from emp
) x
order by is_null, comm desc
上述方法使用了一个附加列


ORACLE中有 NULLS FIRST 和 NULLS LAST 来确保NULL的排序方式。


内敛视图 是一个中间结果,不输出。


根据数据项的键排序。
如果job是salasman 就根据COMM 来排序,否则根据sal来排序。
在ORDER BY 子句中 使用CASE表达式
select ename,sal,job,comm 
from emp
order by case when job = 'SALESMAN' then comm else sal end
类似是有 一个辅助列。

标签:sal,笔记,job,comm,emp,排序,SQLCookbook,select
From: https://blog.51cto.com/u_15815563/5740307

相关文章

  • 快速排序的思路和代码
    首先 快速排序的时间复杂度是 O(n^2)   快速排序的平均时间复杂度是 O(nlogn),最好的时间复杂度是O(nlogn),最坏的时间复杂度是 O(n^2)。时间复杂度是以最坏的来计......
  • 20201306吴龙灿第三章学习笔记
    目录Ⅰ知识点归纳1.进程的概念·什么是进程?·进程的特征动态性并发性独立性异步性结构性·程序和进程主要区别2.多任务处理系统(1)背景(2)多任务处理系统代码介绍3.进程同步(1)同......
  • java----冒泡,选择,插入排序
    1.冒泡排序packagelearnday06排序;//动态录入往数组里录入n个数字,并用冒泡排序importjava.util.Arrays;importjava.util.Scanner;publicclassMaopaopaixu{ publ......
  • JavaScript高级程序设计笔记01 什么是JavaScript
    什么是JavaScript1995年问世。最初在客户端处理某些基本的验证。名字:Mocha->LiveScript->JavaScriptECMAScript脚本语言标准:ECMA-262(TC39,第39技术委员会)完整的的J......
  • JavaScript高级程序设计笔记02 HTML中的JavaScript
    HTML中的JavaScript<script>元素形式行内其中的代码会被从上到下解释。计算完成之前,页面其余内容不会被加载,也不会被显式。外部下载与解析都会阻塞HTML解析,扩展......
  • JAVA Spring学习笔记------MVC
    SpingMVC首先我没接触过页面开发这里只简单的介绍如何通过spring利用注解的形式搭建一个简单的页面首先我们配置pom文件先加入两个依赖<dependency><gro......
  • 四种排序
    对于无序数组的排序,方法有许多,这里可以以数组{12,23,8,15,33,24,77,55}先说四种。1.选择排序顾名思义,选择排序流程如下选择一个最小(或最大)的数,然后将其排在最前端(或最后端);固......
  • 执行@pytest.mark.run(order=3)排序不起作用
    学习pytest的时候修改测试用例执行顺序,发现顺序没有按照我设置的顺序执行,查询发现我的包没有安装pytest-ordering于是我安装pipinstallpytest-ordering,但提示我在其......
  • 从搭建到实战,看看这篇robotframework框架深度学习笔记
    每天进步一点点,关注我们哦,每天分享测试技术文章本文章出自【码同学软件测试】码同学公众号:自动化软件测试,领取资料可加:magetest码同学抖音号:小码哥聊软件测试RobotFra......
  • Jenkins 20221008笔记本7
                        ......