求大神SQL的查询修改问题

na抹浮雲般的笑 2015-12-28 03:55:46
表hr_segment:deptid,deptcode,deptname
表hr_personnal:deptid.psnid,psncode,sex,grade(成绩)
表hr_segment_back:deptid,deptcode,deptname 注释:hr_segment的备份表
1.查询部门‘HR’中,人员姓名,人员性别。
2查询部门‘HR‘中,男女各多少人。
3查询每个部门中女生低于部门成绩的人名以及部门名称。
4.如果hr_segment中,所有的部门代码和部门名称被修改,现在需要修复,怎么实现。
...全文
107 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
无涯大者 2015-12-28
  • 打赏
  • 举报
回复
基本的SQL查询,实现起来很简单的!LZ要多练多思!!
Tiger_Zhao 2015-12-28
  • 打赏
  • 举报
回复
作业题吧
SELECT p.psncode, -- 这是姓名字段?
p.sex
FROM hr_personnal p
JOIN hr_segment s
ON p.deptid = s.deptid
WHERE s.deptname = 'HR'

SELECT p.sex,
COUNT(*) cnt
FROM hr_personnal p
JOIN hr_segment s
ON p.deptid = s.deptid
WHERE s.deptname = 'HR'
GROUP BY p.sex

SELECT psncode,
deptname
FROM (
SELECT p.psncode,
p.grade,
s.deptname,
AVG(grade) OVER(PARTITION BY s.deptid) dept_grade
FROM hr_personnal p
JOIN hr_segment s
ON p.deptid = s.deptid
WHERE p.sex = '女'
) t
WHERE grade < dept_grade -- 是低于部门平均成绩吧

UPDATE hr_segment
SET hr_segment.deptcode = hr_segment_back.deptcode,
hr_segment.deptname = hr_segment_back.deptname
FROM hr_segment, hr_segment_back
WHERE hr_segment.deptid = hr_segment_back.deptid

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧