目录
知识点:order by\limit
题目描述:查找最晚入职员工的所有信息
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`));
情况1:所有的数据里员工入职的日期都不是同一天
即最晚入职员工只有一个人;当天单个数据
order by(默认(升序)asc/(降序)desc )进行排序。然后用限制结果 limit 提取数据。 limit两种使用方法,(limit x)指示返回不多于x行,(limit x,y)第二个是从x开始提取y行。
select * from employees
order by hire_date desc
limit 0,1
--或者limit 1
情况2:入职最晚当天有多个人;即当天多个数据
使用where 条件并且子查询,查询字段 (max)最大值
select * from employees
where hire_date=
(select max(hire_date) from employees)