当前位置: 代码迷 >> Sql Server >> 如图,求各种方式解决方法
  详细解决方案

如图,求各种方式解决方法

热度:309   发布时间:2016-04-24 23:26:38.0
如图,求各种方式解决办法.

--18、查询 部门当中每个员工基本工资都大于1200的部门名称

 select distinct 员工.部门编号,部门.部门名称 from 员工,部门  where 员工.部门编号 not in (select 部门编号 from 员工 where 基本工资 < 1200 group by 部门编号 ) and 部门.部门编号=员工.部门编号


with ccc as

  select 部门编号,基本工资,ROW_NUMBER() over (PARTITION by 部门编号  order by 基本工资 asc) as row from 员工  
)
select b.部门名称 from ccc a inner join 部门 b on a.部门编号=b.部门编号 where a.row=1 and a.基本工资>1200

这二种方式可以正确的算出来,求详细的解释,或别的方式,谢谢.

------解决方案--------------------
select * from 部门表 where (select count(1) from 员工表 where 员工表.基本工资<=1200 and 员工表.部门编号=部门表.部门编号)<=0
  相关解决方案