Code Bye

本人有个问题想问,关于别名创建的时间的

查询各部门工资最高的人
本人一直以为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。
好吧,有回答了一次

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明本人有个问题想问,关于别名创建的时间的