左连接判空

获取所有非manager员工当前的薪水情况

http://www.nowcoder.com/questionTerminal/8fe212a6c71b42de9c15c56ce354bebe

select de.dept_no,t1.emp_no,s.salary from 
(select e.emp_no from employees e left join dept_manager dm on e.emp_no=dm.emp_no where dm.dept_no is null) t1 
join salaries s on t1.emp_no=s.emp_no  join dept_emp de on t1.emp_no=de.emp_no where s.to_date='9999-01-01'

先左连接,通过判定null为非manger员工,然后多表join即可

全部评论
和你差不多,为啥我的不行 SELECT e.dept_no,e1.emp_no,s.salary FROM employees e1 LEFT JOIN dept_manager m ON m.emp_no = e1.emp_no AND m.emp_no IS NULL JOIN dept_emp e ON e1.emp_no=e.emp_no JOIN salaries s ON s.emp_no = e1.emp_no WHERE e.to_date='9999-01-01'
点赞 回复 分享
发布于 2020-11-02 12:23
你少了一层,你把左链接的结果当成一个表,然后多表连接
点赞 回复 分享
发布于 2020-11-02 12:38
你好,想问一下!最后一步 where s.to_date="9999-01-01"的s表为什么不能换成de表呢..de也有to_date字段呀
点赞 回复 分享
发布于 2020-11-19 10:54

相关推荐

10-31 14:54
已编辑
门头沟学院 算法工程师
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务