题解 | #查找最晚入职员工的所有信息#
情形一:最晚入职员工只有一人
order by排序+limit
解题比较简单,根据hire_date逆向排序后,输出第一行即可
select *
from employees
order by hire_date desc
limit 1
情形二:最晚入职员工不止一人
方法一:可以根据开窗函数 rank() over()
select emp_no,birth_date,first_name,last_name,gender,hire_date
from (select *emp_no,birth_date,first_name,last_name,gender,hire_date, rank() over(order by hire_date desc) as r
from employees) tmp
where r = 1
方法二:join
select t1.*
from employees t1 join
(select max(hire_date) as max_date
from employees) t2
on t1.hire_date = t2.dire_date
#SQL练习#