文章目录
1. 题目
- 题目来源:SQL1 查找最晚入职员工的所有信息
- 题目描述
查找employees里最晚入职员工的所有信息 - 表格
employees:
+--------+------------+------------+-----------+--------+------------+
| emp_no | birth_date | first_name | last_name | gender | hire_date |
+--------+------------+------------+-----------+--------+------------+
| 10001 | 1953-09-02 | Georgi | Facello | M | 1986-06-26 |
| 10002 | 1964-06-02 | Bezalel | Simmel | F | 1985-11-21 |
| 10003 | 1959-12-03 | Parto | Bamford | M | 1986-08-28 |
| 10004 | 1954-05-01 | Christian | Koblick | M | 1986-12-01 |
+--------+------------+------------+-----------+--------+------------+
- 所需结果
+--------+------------+------------+-----------+--------+------------+
| emp_no | birth_date | first_name | last_name | gender | hire_date |
+--------+------------+------------+-----------+--------+------------+
| 10004 | 1954-05-01 | Christian | Koblick | M | 1986-12-01 |
+--------+------------+------------+-----------+--------+------------+
2. 题解
使用子查询进行条件限制:
SELECT *
FROM employees e
WHERE hire_date IN (SELECT MAX(hire_date) FROM employees)
使用IN
而不是=
,是因为可能存在多个取值。