题解 | #获取员工其当前的薪水比其manager当前薪水还高的相关信息#
获取员工其当前的薪水比其manager当前薪水还高的相关信息
http://www.nowcoder.com/practice/f858d74a030e48da8e0f69e21be63bef
select e.emp_no emp_no,m.emp_no manager_no,s.salary emp_salary,sa.salary manager_salary
from dept_emp e,dept_manager m,salaries s,salaries sa
where e.dept_no = m.dept_no and e.emp_no = s.emp_no and m.emp_no = sa.emp_no and s.salary > sa.salary;
思路:我们先匹配每个部门对应的员工和经理->e.dept_no = m.dept_no这条语句就实现了部门的员工和经理对应,其次在实现员工工资大于经理工资的情况,刚开始我们肯定知道要用工资表(->_->毕竟人家表给了还没用),起初大家想法肯定是用一个工资表,但是解决不了问题,因为要实现员工和经理两个角色的工资比较,这个时候就应该想到用两张表了,但是两张同样的表怎么在一个查询实现呢??有一种方法是取别名。 到了这一步,想必结果差不多出来了,一张工资表s对应员工(e.emp_no = s.emp_no),一张工资表sa对应经理(m.emp_no = sa.emp_no),最后把工资进行比较就行了(s.salary > sa.salary);
我是跟着我提交成功的思路来的,不愿意加'9999.....'。