获取当前(to_date='9999-01-01')薪水第二多的员工的emp_no以及其对应的薪水salary
limit 1,1 从当前选择的第二个开始,选取1条记录
当然上述解答还不够严谨
因为如果薪水第一多有多名员工,那么用 limit 1, 1 取出来的就不一定是薪水第二的员工了
使用嵌套查询,首先找出排第二的薪水是多少,使用group by进行分组,并且限制时间,必须是当前薪水,然后使用挑选出来的薪水
去查找符合条件的记录。
然而,第二次的解答仍然不够优秀!
因为在子查询中我们返回的是薪水,在外层查询使用薪水去查询一条记录,如果表中的数据量很小的话,
查询速度会很快,但是,当数据量非常大的时候就非常麻烦了。
如图,令子查询返回员工号,因为emp_no是主键,所以这样会更好的优化性能。