SQL考试卷中的一道题,高手来解答

来源:百度知道 编辑:UC知道 时间:2024/06/08 11:53:02
(在这个框中我无法用表格绘制,所以打出来了一个大概的格式)
现有人事考核表,其定义如下

考核
编号 列名称 列类型 长度 是否为主键 约束条件 缺省值
1 姓名 char 10
2 组别 char 20
3 工资 numeric 8,2
4 病假天数 integer
5 休假天数 integer

使用SQL语句完成下列任务:
(1)查询表中姓名和组别的数据,使得查询结果显示次序是组别、姓名。
(2)显示所有不重复的组名。
(3)查询每一组别的平均工资
(4)查询平均工资38000的组别
(5)查询平均病假多于25天和平均年休假少于20天的组别。
(6)把考核表的插入权限授权给用户“smith”,并且smith可以将此权限再授权给别人

快来帮我呀,记得不要说的那么高深。。。。。。我为了考试5555555说多了老师可能都不懂了,答得好加分
对了。这格式有点歪。。。。。还有。那个是8,(逗号)2不是8.2。
是不是很重要我也不太懂。

我知道我给的分太少。。。。。还问的这么多比较无耻。。。。可是答对了俺加分。。。。但也加不了太多因为俺本身没几个分

1:
select 姓名,组别 from 考核 order by组别,姓名;
2:
select distinct 组别 from考核;
3:
select avg(工资) from 考核 group by 组别;
4:
select 组别,avg(工资) a from 考核 where a=38000 group by 组别;
5:
select 组别,avg(病假天数) a,avg(休假天数) b from 考核 where a>25 and b<20;
6:
grant insert
on table 考核
to smith
with grant option;
老大,这些都是比较基础的题啦,为什么不好好听课呢... 帮你一把啦!

一个问题10分,6个起码也要给60...

select 姓名,组别 from 考核
select * distinct from 考核
select avg(工资) from 考核 group by 组名
select avg(工资) from 考核 group bu 组名 having avg(工资)>380000
select avg(病假),avg(休假) group bu 组名 having avg(病假)>25 and avg(休假)<20
上面两题估计不是你要的答案,但是你可以用子查询返回的那个结果作为where条件
后面一题不懂