numeric server sql 有空值加和_每日一练 003 | SQL : order by 排序子句

点击蓝字|关注我们

每日一练:由恩墨学院资深讲师每日归纳一个数据库知识点,并设置相关的练习题以供读者巩固所学知识。

本文主要介绍 order by 子名。

语法

select expr from table
[where condition(s)]
[order by {colum , expr , numeric_position} [ asc | desc] ];

  • order by : 指定了被浏览行的顺序;

  • asc: 以升序排序,是默认的排序方式;

  • desc: 以降序排序;

  • 对于空值的排序,可以使用 NULLS FIRST 或 NULLS LAST 来设置空值出现在最前边还是最后边。

整体框架

aaab1c7720ff57217cd7bf0bf88bbb97.png

order by 子句

1. 列名:按照列的值排序

  • 如果列的值是数值类型,那么默认按照数值的升序排,最小值先出现;

  • 如果列的值是 Date 时间类型,那么默认按照时间的升序排,最小时间先出现;

  • 如果列的值是字符,那么按照字母的顺序排序;

  • 空值默认按照升序排序,显示在最后边,指定降序时,显示在最前边。

如:按照员工入职日期降序排序

  • SELECT last_name, job_id, department_id, hire_date FROM employees ORDER BY hire_date DESC ;

2. 别名:别名如果加双引号了,在 order by 后边也要加双引号

如:

  • SELECT employee_id, last_name, salary*12 “Annsal” FROM employees ORDER BY “Annsal” ;

3. 列的位置号

如:以 select 后边的第三个列排序

  • SELECT last_name, job_id, department_id, hire_date FROM employees ORDER BY 3;

4. 多个列排序:先按部门号排序,然后在部门内部按照工资降序排序

如:

  • SELECT last_name, department_id, salary FROM employees ORDER BY department_id, salary DESC;

练习题

问题:下面哪个语句关于 order by 子句是正确的?A)如果指定了按照位置号来排序,那么数值类型的数据会按降序排;B)对字符排序时,大小写是敏感的;C)只有在 select 子中指定的列,才能排序;D)在排序语句中,不会对空值进行处理。

答题贴士 /Answering Tips/

  1. 可以把答案以及解答思路发布在「墨天轮 modb.pro」平台,不定期会选取优秀答案送礼物;

    (文章名称前缀可带上:恩墨学院 | )

  2. 当然也可以在墨天轮上搜索『每日一练 xxx』查看解题思路。

✨ 点击【 】直达「墨天轮」平台查看其它学员们分享的解题思路~

07fe5abc137a77424d57c7b6a156cc0e.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值