查询各部门工资最高的人
本人一直以为table E的创建在查询之后,
在where中却可以访问E,
有没有高手帮本人解释一下
create table employee (
id int,
department_id int,
salary float
);
select id from employee as E where salary
= (select max(salary) from employee as M where M.department_id = E.department_id);
本人一直以为table E的创建在查询之后,
在where中却可以访问E,
有没有高手帮本人解释一下
create table employee (
id int,
department_id int,
salary float
);
select id from employee as E where salary
= (select max(salary) from employee as M where M.department_id = E.department_id);
解决方案
40
1:select max(salary) from employee as M where M.department_id = E.department_id,这句可以查到各部门的最高工资
2:原因是是用外层的 部门编号E.department_id与内层的M.department_id关联,所以select id from employee as E 得到的和内层的M.department_id是一致的
3:在1中得到的salary做为条件可以使外层salary得到一样的值。
所以综上:可以得到查询各部门工资最高的人的id。
好吧,有回答了一次
2:原因是是用外层的 部门编号E.department_id与内层的M.department_id关联,所以select id from employee as E 得到的和内层的M.department_id是一致的
3:在1中得到的salary做为条件可以使外层salary得到一样的值。
所以综上:可以得到查询各部门工资最高的人的id。
好吧,有回答了一次