MySQL经典题目

1.部门工资前三高的所有员工

 

 

解答:

select d.name Department,e.name Employee,Salary 
from employee e,department d
where e.departmentId=d.id 
#如果同部门有大于自己工资的记录为【0,1,2】则表明自己处于前三 and
3 > ( #父查询的每一条记录都拿过来比较,为true则选中,否则剔除 select count(DISTINCT salary) #满足条件的行数 from employee e2 where e2.departmentId=e.departmentId #保证在同一个部门比较 and e2.salary>e.salary #父查询的一条记录与之比较,满足一条count就加一 )

 

 

 

 

 

.

 

posted @ 2022-11-03 23:51  happy_in  阅读(23)  评论(0)    收藏  举报