情形一:最晚入职员工只有一人

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