sql中已知职工表,部门表,工资表求各部门职工平均工资

已知职工表:职工号,姓名,性别,出生日期,党员与否,参工时间,部门号。部门表:部门号,部门名。工资表:职工号,姓名,日期,工资。现要1:显示所有职工年龄,2:求各部门党员... 已知职工表:职工号,姓名,性别,出生日期,党员与否,参工时间,部门号。部门表:部门号,部门名。工资表:职工号,姓名,日期,工资。现要1:显示所有职工年龄,2:求各部门党员人数,3显示所有职工工号姓名平均公资4显示所有职工工号姓名部门名和2004.2月工资并按部门名排续5:显示各部门名该部门所有职工平均工资6显示所有平均工资高于1200的部门和对应的平均工资7:显示所有职工号,姓名,部门类形,其中财务处和人事处属主管部门,市场部属市场部门 展开
 我来答
x403879785
2011-11-28 · TA获得超过3839个赞
知道大有可为答主
回答量:1299
采纳率:100%
帮助的人:1172万
展开全部
1 select 姓名,year(getdate())-year(出生日期) as 年龄 from 职工表

2 select e.部门名,count(a.党员与否)as 党员人数 from 职工表 a,部门表 e where a.党员与否='是' and a.部门号=e.部门号 group by e.部门名

3 select a.职工号,a.姓名,avg(b.工资)as 平均工资 from 职工表 a,工资表 b where a.职工号=b.职工号 group by a.职工号,a.姓名

4 select a.职工号,a.姓名,e.部门名,sum(b.工资) as '2004.2' from 职工表 a,工资表 b,部门表 e where a.职工号=b.职工号 and a.部门号=e.部门号
and b.日期 between '2004-02-01' and '2004-02-29' group by a.职工号,a.姓名,e.部门名 order by e.部门名

5 select e.部门名,avg(b.工资)as 平均工资 from 职工表 a,工资表 b,部门表 e
where a.职工号=b.职工号 and a.部门号=e.部门号 group by e.部门名

6 select e.部门名,avg(b.工资)as 平均工资 from 职工表 a,工资表 b,部门表 e
where a.职工号=b.职工号 and a.部门号=e.部门号 group by e.部门名 having avg(b.工资)>1200

7 select a.职工号,a.姓名,case when e.部门名='财务处' or e.部门名='人事处' then '主管部门'
wheb e.部门名='市场部' then '市场部门' end as 部门类型
from 职工表 a,部门表 e where a.部门号=e.部门号

sqlserver亲测、完全OK、职工表部门号是外键依赖于部门表部门号,工资表职工号外键依赖于职工表的职工号。表结构没问题。
_神__仙_
2011-11-28 · TA获得超过1257个赞
知道小有建树答主
回答量:806
采纳率:0%
帮助的人:529万
展开全部
1 select *,year(getdate())-year(出生日期) 工龄 from 职工表
2 select count(*),部门名 from 职工表 e, 部门表 p where e.部门号=p.部门号 and e.党员与否=1 group by e.部门号
3 select e.姓名,平均工资 from 职工表 e, (select avg(工资) 平均工资,职工号 from 工资表 group by 职工号) as s where e.职工号=s.职工号
4 select 职工号,姓名,部门名,工资 from 职工表 e,部门表 p,工资表 s where e.部门号=p.部门号 and e.职工号=s.职工号 and s.日期>'2004-1-31' and s.日期<'2004-3-1' order by e.部门名
5 select 部门名,avg(工资) 平均工资 from 职工表 e,部门表 p,工资表 s where e.部门号=p.部门号 and e.职工号=s.职工号
6 select * from (select 部门名,avg(工资) 平均工资 from 职工表 e,部门表 p,工资表 s where e.部门号=p.部门号 and e.职工号=s.职工号 group by e.部门号,p.部门名) as a where a. 平均工资>1200
7 select 职工号,姓名,case when 部门名='市场部' then '市场部门' when 部门名='财务部' then '主管部门' when 部门名='人事处' then '主管部门' end as 部门类型 from 职工表 e, 部门表 p where e.部门号=p.部门号
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式