牛客网数据库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;

 

posted @ 2018-10-15 21:03  芬乐  阅读(587)  评论(0编辑  收藏  举报