查询最晚入职的员工信息(所有入职信息都不是同一天)
第一步:找到最晚的入职日期
SELECT MAX(hire_date) FROM employees;
第二部:找到入职日期最晚的那个员工
SELECT *
FROM employees
WHERE hire_date=(SELECT MAX(hire_date)FROM employees);
查找入职员工时间排名倒数第三的员工信息(所有入职信息都不是同一天)
SELECT *
FROM employees
WHERE hire_date = (
SELECT hire_date
FROM employees
ORDER BY hire_date DESC
LIMIT 2,1
);
如果有同一天的
SELECT *
FROM employees
WHERE hire_date = (
SELECT DISTINCT hire_date
FROM employees
ORDER BY hire_date DESC
LIMIT 2,1
);
注:DISTINCT是去重,DESC是降序,ASC升序,ORDER BY排序
查找各个部门当前(to_date='9999-01-01')领导当前薪水详情以及对应部门编号dept_no
表一:'dept_manager' |
'dept_no'部门编号, 'emp_no'员工编号, 'from_date', 'to_date' |
表二:'salaries'薪水表 |
'emp_no'员工编号 'salary'薪水 'from_date', 'to_date' |
SELECT s.*,d.dept_no
FROM salaries s
INNER JOIN dept_manager d
on s.emp_no = d.emp_no
WHERE s.to_date ='9999-01-01'
AND d.to_date ='9999-01-01';
查找所有员工的last_name和first_name以及对应的部门编号dept_no,也包括没有分配具体部门的员工
dept_emp |
emp_no dept_no from_date to_date |
employees |