牛客网数据库SQL实战(此处只有答案,没有表内容)
1.查找最晚入职员工的所有信息
select * from employees order by hire_date desc limit 1; --limit n表示输出前n条数据,limit 0,n表示输出从第1行开始,共n行。
select * from employees where hire_date=(select max(hire_date) from employees);
2.查找入职员工时间排名倒数第三的员工所有信息
select * from employees order by hire_date desc limit 2,1;
3.查找各个部门当前(to_date='9999-01-01')领导当前薪水详情以及其对应部门编号dept_no
--from后表的顺序改变,无法通过
select s.*,d.dept_no from salaries s,dept_manager d where d.emp_no=s.emp_no and d.to_date="9999-01-01" and s.to_date="9999-01-01"
4.查找所有已经分配部门的员工的last_name和first_name
select e.last_name,e.first_name,d.dept_no from employees e,dept_emp d where e.emp_no=d.emp_no;
5.查找所有员工的last_name和first_name以及对应部门编号dept_no,也包括展示没有分配具体部门的员工
select e.last_name,e.first_name,d.dept_no from employees e left join dept_emp d on e.emp_no=d.emp_no;
人怂胆子小,手拿大刀跑。