排序数据.

排序

1、查询所有员工工资,排序?

​ select

​ ename,sal

​ from

​ emp

​ order by

​ sal;//默认是升序!!!

2. 怎么降序?

指定降序:

​ select

​ ename,sal

​ from

​ emp

​ order by

​ sal desc;

指定升序:

select

​ ename,sal

​ from

​ emp

​ order by

​ sal asc;

3. 可以两个字排序吗?或者说按照多个字段排序?

​ 查询员工名字和工资,要求按照工资升序,如果工资一样的话,

​ 再按照名字升序排序。

​ select

​ ename,sal

​ form

​ emp

​ order by

​ sal asc , ename asc;//sql在前,起主导,只有sal相等的时候,才会考虑启用ename排序

4. 了解:根据字段的位置也可以排序

​ select ename , sal from emp order by 2;//2表示第二列。第二列是sal

​ 按照查询结果的第二列sal排序。

​ 了解一下,不建议在开发中这样写,因为不健壮。

​ 因为列的顺序容易发生改变,列顺序修改之后,2就废了。

5.集合一点的案例:

​ 找出工资在1250到3000之间员工信息,要求按照工资降序排列。

​ select

​ ename,sal

​ from

​ emp

​ where

​ sal between 1250 nad 3000

​ order by

​ sal desc;

关键字顺序不能变:

​ select

​ …

​ from

​ …

​ order by

​ …

​ 以上语句的执行顺序必须掌握:

​ 第一步:from

​ 第二步:where

​ 第三步:select

​ 第四步:order by(排序总是在最后执行!)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当涉及到排序方法时,有很多种方法可以选择。下面是几种常见的排序方法及其优化方法: 1. 冒泡排序:冒泡排序是一种简单直观的排序方法,但其时间复杂度为 O(n^2),在大数据量的情况下效率较低。优化方法有: - 增加一个标志位,记录是否有交换操作发生,如果没有,则表明已经排好序,可以提前结束循环。 - 每一轮循环时记录最后一次交换的位置,这个位置后面的元素已经排好序,下一轮循环时可以省略这部分。 2. 快速排序:快速排序是一种基于分治思想的排序方法,其时间复杂度为 O(nlogn),但最坏情况下时间复杂度为 O(n^2)。优化方法有: - 选择合适的枢轴元素,可以使用三数取中或随机选择等方法来避免最坏情况的发生。 - 当划分出的两个子数组的大小小于某个阈值时,可以使用插入排序等简单排序方法来代替快速排序,以避免递归过深。 3. 归并排序:归并排序是一种基于分治思想的排序方法,其时间复杂度为 O(nlogn)。优化方法有: - 在合并两个有序数组时,可以使用双指针法,避免使用额外的数组空间。 - 当数组大小小于某个阈值时,可以使用插入排序等简单排序方法来代替归并排序,以避免递归过深。 4. 堆排序:堆排序是一种基于堆数据结构的排序方法,其时间复杂度为 O(nlogn)。优化方法有: - 在建堆时,可以使用自底向上的方法,避免对已经排好序的元素重复进行调整。 - 在堆排序过程中,可以使用递归或迭代两种方式来实现。 总的来说,优化排序方法的关键在于选择合适的排序算法和对其进行合理的改进,以提高排序的效率和性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值