《SQLServer实验题答案.ppt》由会员分享,可在线阅读,更多相关《SQLServer实验题答案.ppt(11页珍藏版)》请在三一办公上搜索。
1、Worker表,depart表,salary表,在上机实验三建立的数据库的基础上,完成如下各题:1、显示所有职工的基本信息。select*from worker2、显示市场部的所有职工的基本信息 select worker.*,部门名 from worker,depart where worker.部门号=depart.部门号 and 部门名=市场部,3、显示财务处的职工的人数。select count(*)from worker,depart where worker.部门号=depart.部门号 and 部门名=财务处,4、显示所有职工的年龄。SELECT 职工号,姓名,DATEPART(
2、year,GETDATE()-datepart(year,出生日期)as 年龄 from worker5、显示所有职工的姓名和2004年1月份的工资。select 姓名,工资 from salary where 日期=2001-4-4,6、显示所有职工的职工号、姓名、部门名和 2002-3-4日工资,并以部门名顺序排列。select salary.职工号,worker.姓名,depart.部门名,工资 from worker,depart,salarywhere 日期=2002-3-4 and worker.职工号=salary.职工号 and worker.部门号=depart.部门号 or
3、der by 部门名,7、显示所有平均工资高于1200的部门名和对应的平均工资。select 部门名,avg(工资)as 平均工资from salary,depart,workerwhere worker.部门号=depart.部门号 and worker.职工号=salary.职工号group by 部门名having avg(工资)1200,8、求出各部门的党员的人数。Select 部门名,count(*)as 党员人数From worker,departWhere woker.部门号=depart.部门号 and 党员否=是Group by 部门名,9、显示各部门和该部门的所有职工平均工
4、资。select 部门名,avg(工资)as 平均工资from salary,depart,workerwhere worker.部门号=depart.部门号 and worker.职工号=salary.职工号group by 部门名,10、显示所有职工的职工号、姓名和部门类型,其中财务处和人事处属管理部门,市场部属于市场部门。select 职工号,姓名,case when 部门名=人事处 then 管理部门 when部门名=财务处 then 管理部门 when部门名=市场部 then 市场部门 end as 部门类型from worker,departWhere worker.部门号=dep
5、art.部门号,11、若存在职工号为10的职工,则显示其工作部门名称,否则显示相应提示信息。if(select count(*)from worker where 职工号=10)0或者 if exixts(select*from worker where 职工号=10)begin select 部门名 as 工作部门名称 from worker,depart where worker.部门号=depart.部门号 and 职工号=10 endelse print 没有该职工12、求出男女职工的平均工资,若男职工平均工资高出女职工平均工资50%,则显示“男职工比女职工的工资高多了”的信息;若男职
6、工平均工资与女职工平均工资比率在1.51.8之间,则显示“男职工跟女职工的工资差不多”的信息;否则,显示“女职工比男职工的工资高多了”的信息。,declare manavg float,womanavg floatselect manavg=(select avg(工资)from worker,salary where 性别=男 and worker.职工号=salary.职工号)select womanavg=(select avg(工资)from worker,salary where 性别=女 and worker.职工号=salary.职工号)print manavgprint womanavgif manavg(womanavg*1.5)print 男职工比女职工的工资高多了 else if manavg(womanavg*1.2)and manavg(womanavg*1.8)print男职工跟女职工的工资差不多 else print 女职工比男职工工资高多了,