牛客网数据库SQL实战(此处只有答案,没有表内容)

时间:2023-03-08 21:48:07
牛客网数据库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;