题解 | #获取所有员工当前的manager#

获取所有员工当前的manager

http://www.nowcoder.com/practice/e50d92b8673a440ebdf3a517b5b37d62

思路1(内连接查询)(推荐):
找不同查不同
select
  de.emp_no,
  dm.emp_no
from
  dept_emp as de
inner join                    -- 使用内连接,根据条件查询非员工和其对应的经理
  dept_manager as dm 
on
  de.dept_no = dm.dept_no
where
  de.emp_no != dm.emp_no
思路2(外连接查询):
找不同查全部删多余
select
  de.emp_no,
  dm.emp_no as manager
from
  dept_emp de
left outer join                 -- 使用左外连接查询dept_emp所有员工
  dept_manager dm
on
  de.dept_no = dm.dept_no
and
  de.emp_no != dm.emp_no        -- 不等就是非manager.现在已经把非员工和其对应的经理查出来了
where
  dm.emp_no is not null;        -- 去掉本身是经理的员工



全部评论

相关推荐

面试摇了我吧:啊哈哈面试提前五个小时发,点击不能参加就是放弃
点赞 评论 收藏
分享
10-30 22:18
已编辑
毛坦厂中学 C++
点赞 评论 收藏
分享
评论
2
收藏
分享
牛客网
牛客企业服务