答案篇:MySQL练习题(一)
(1)
查找最晚入职员工的所有信息,为了减轻入门难度,目前所有的数据里员工入职的日期都不是同一天(sqlite里面的注释为–,mysql为comment)
答案如下(方法一):
select *
from employees
order by hire_date desc limit 1;
解释如下:
**order by … desc :**表示降序排序(如果没有desc,默认升序排序,升序排序可用asc表示,可以省略不写,则按照默认升序)
limit n: 表示从0开始,观察第n条数据(是limit(0,m)的缩写)
**limit m,n:**表示从第m条数据开始,读取n条数据
**limit n offset m:**表示从第m条数据开始,读取n条数据
方法二(最优)(子查询法)
select *
from employees
where hire_date =
(
select max(hire_date)
from employees
);
或者
select *
from employees
where hire_date in
(
select max(hire_date)
from employees
);
解释如下:
max()表示最大值,返回hire_date这个属性里的最大的一个,就是最晚入职的时间