题目描述
查找最晚入职员工的所有信息,为了减轻入门难度,目前所有的数据里员工入职的日期都不是同一天(sqlite里面的注释为–,mysql为comment)
CREATE TABLE `employees` (
`emp_no` int(11) NOT NULL, -- '员工编号'
`birth_date` date NOT NULL,
`first_name` varchar(14) NOT NULL,
`last_name` varchar(16) NOT NULL,
`gender` char(1) NOT NULL,
`hire_date` date NOT NULL,
PRIMARY KEY (`emp_no`));
解答:
思路应该是很清晰的,入职时间最大的即为所求。
select * from employees where hire_date =(select max(hire_date) from employees)
还有一种先排序再取的思路,但是最晚入职的当天未必就一个人(虽然此题目说明了只有一人),也许有多人,使用排序并限制只能取得指定数量的结果。
select * from employees order by hire_date desc limit 0,1;