zoukankan      html  css  js  c++  java
  • 获取当前(to_date='9999-01-01')薪水第二多的员工的emp_no以及其对应的薪水salary

     limit 1,1  从当前选择的第二个开始,选取1条记录

    当然上述解答还不够严谨

    因为如果薪水第一多有多名员工,那么用  limit 1, 1  取出来的就不一定是薪水第二的员工了

    使用嵌套查询,首先找出排第二的薪水是多少,使用group by进行分组,并且限制时间,必须是当前薪水,然后使用挑选出来的薪水

    去查找符合条件的记录。

    然而,第二次的解答仍然不够优秀!

     因为在子查询中我们返回的是薪水,在外层查询使用薪水去查询一条记录,如果表中的数据量很小的话,

    查询速度会很快,但是,当数据量非常大的时候就非常麻烦了。

    如图,令子查询返回员工号,因为emp_no是主键,所以这样会更好的优化性能。

  • 相关阅读:
    mysql数据库启动停止
    事务的隔离级别
    排序之选择排序
    排序之希尔排序
    排序之折半插入排序
    排序之直接插入排序
    排序之冒泡排序
    排序之快速排序
    字符串拷贝和拼接
    字符串旋转问题
  • 原文地址:https://www.cnblogs.com/jiguang321/p/12008406.html
Copyright © 2011-2022 走看看