题目中已经说明了“员工入职的日期都不是同一天”,这个时候直接使用order by按照降序desc排列,选取第一条(limit)数据即可
SELECT * FROM employees ORDER BY hire_date DESC LIMIT 1
如果有多个员工的入职日期相同,就需要使用子查询限定最晚入职日期这个条件,可以使用上面的方法,也可以使用MAX聚合函数,确定员工的最晚入职日期:
使用order by查询最晚入职日期
SELECT * FROM employees WHERE hire_date = (SELECT hire_date FROM employees ORDER BY hire_date DESC LIMIT 1)
使用MAX查询最晚入职日期
SELECT * FROM employees WHERE hire_date = (SELECT MAX(hire_date) FROM employees )