题目描述
查找最晚入职员工的所有信息
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 order by hire_date desc limit 0,1
【LIMIT m,n : 表示从第m+1条开始,取n条数据;】
【LIMIT n : 表示从第0条开始,取n条数据,是limit(0,n)的缩写。】
本题limit 0,1 表示从第(0+1)条数据开始,取一条数据。
即按时间降序排列,然后选择第一条数据,就是最新的日期。
但
建议使用
select *
from employees
where hire_date=(select max(hire_date) from employees)
理由是最晚一天入职的员工可能有多个。