DAY1
::: warning 该内容已转换成专栏,地址:https://www.helloworld.net/special/d/nblbgc :::
本文一共291字,读完大概需要3分钟
适用人群:sql初学者
问题来源:[牛客网sql在线编程题]
问题描述:查找最晚入职员工的所有信息
问题解决:形如查找某个字段为最大值的问题
1.可以通过将限制条件设为 入职时间 =入职时间最大值 来处理
SELECT
*
FROM
employees
WHERE
hire_date = (SELECT MAX( hire_date ) FROM employees );
2.可以通过降序排列并用limit将数量限制来让最大值置顶
SELECT
*
FROM
employees
ORDER BY
hire_date DESC
LIMIT 1;
涉及关键字/函数:
MAX(expr): 最大值函数。可以通过SELECT MAX(id) AS max_id FROM stu
从stu表中找到最大的id,
但是没法通过SELECT * FROM stu WHERE id = MAX(id);
来完成本题要求,会报Invalid use of group function
ORDER BY:
DESC:
LIMIT:
问题引申:由于牛客网的题目的sql文件没法直接下载,我想用手动插入的方式重建这个表,date类型的数据对应的值忘记加单引号了,
报错Incorrect date value