求SQL大神帮忙解答此题!

一、考试环境检查(5分)在D盘根目录下建立考试文件夹,以学号+姓名作为文件夹名称,并检查当前机器上SQLSERVER是否正常。所有上机操作命令保存在一个文件中,以学号+姓... 一、考试环境检查(5分)
在D盘根目录下建立考试文件夹,以学号+姓名作为文件夹名称,并检查当前机器上SQL SERVER是否正常。所有上机操作命令保存在一个文件中,以学号+姓名命名,例如20100110张三.sql(5分)
二、数据库操作(10分)
1、使用命令方式创建XSCJ数据库。(5分)
2、使用命令将XSCJ数据库重新命名为学生成绩。(5分)
三、表操作(23分)
1、在学生成绩数据库中创建学生表,包括学号、姓名、性别、出生日期,家庭地址字段,定义学号为主键,性别默认为男,所有字段数据类型可自行合理设计。(8分)
2、在学生成绩数据库中创建课程表,包括课程代码,课程名称,定义课程代码为主键,课程名称非空,字段数据类型可自行合理设计。(5分)
3、在学生成绩数据库中创建成绩表,包括学号、课程代码、分数,其中以学号、课程代码组合建立主键,通过学号与学生表建立外键约束,通过课程代码与课程表建立外键约束,字段数据类型可自行合理设计。(10分)
四、数据查询(42分)
1、使用SQL命令将下列数据添加到学生表中。(3分)

学号

姓名

出生日期

2010001

张三

1988-02-02

2、使用SQL命令将学号为2010001的学生的出生日期修改为1987-3-1。(3分)
3、使用SQL命令查看学生表中所有男生的学号、姓名、性别和年龄。(6分)
4、使用SQL命令查看年龄超过平均年龄的学生信息。(8分)
5、使用SQL命令统计每门课程的最高分、最低分和平均分。(8分)
6、使用SQL命令统计每个学生不及格课程门数。(8分)
7、使用SQL命令列出学生表中年龄最大的前10名来自重庆市的学生的学号、姓名和年龄。(6分)
四、视图的使用(10分)
1、创建一个名为V_XS的视图,要求视图中包括所有学生的学号、姓名以及每门课程的考试成绩。
五、存储过程的使用(10分)
1、创建一个名为XS_TJ的存储过程,要求通过传入学生学号查询当前这个学生的基本信息。
展开
 我来答
cdd_2001
2015-01-13 · 超过17用户采纳过TA的回答
知道答主
回答量:33
采纳率:0%
帮助的人:31.8万
展开全部
  1. -----------------------------------

  2. create database XSCJ

  3. use XSCJ

  4. -----------------------------------

  5. exec sp_renamedb 'XSCJ', '学生成绩'

  6. -----------------------------------

  7. create table 学生表

  8. (学号 varchar(10) primary key,

  9.  姓名 varchar(10) ,

  10.  性别 varchar(2)default '男',

  11.  出生日期 date,

  12.  家庭地址 varchar(50)

  13. )

  14. -----------------------------------

  15. create table 课程表

  16. (课程代码 varchar(10) primary key,

  17.  课程名称 varchar(50) NOT NULL,

  18. )

  19. -----------------------------------

  20. create table 成绩表

  21. (学号 varchar(10) not null,

  22.  课程代码 varchar(10) not null,

  23.  分数 int,

  24.  primary key(学号,课程代码),

  25.  foreign key(学号) references 学生表(学号),

  26.  foreign key(课程代码) references 课程表(课程代码)

  27. )

  28. -------------------------------------------

  29. insert into 学生表(学号,姓名,出生日期) values('2010001','张三','1988-02-02')

  30. ------------------------------------------

  31. update 学生表 set 出生日期='1987-3-1' where 学号='2010001'

  32. --------------------------------------------

  33. select 学号,姓名,性别,year(getdate())-year(出生日期) as 年龄 from 学生表

  34. ----------------------------------------

  35. select * from 学生表 where DATEDIFF(yyyy,出生日期,getdate())>DATEDIFF(yyyy,出生日期,getdate())/(select COUNT(*) from 学生表)

  36. -----------------------------------------

  37. select a.课程代码,a.课程名称,b.maxscore,b.minscore,b.avgscore from 课程表 a,(select 课程代码,MAX(分数) as maxscore,min(分数) as minscore,avg(分数)as avgscore from 成绩表 group by 课程代码)b where a.课程代码=b.课程代码

  38. ------------------------------------------

  39. select a.学号,a.姓名,c.failedNo from 学生表 a,(select 学号,COUNT(*) as failedNo from 成绩表 where 分数<60 group by 学号)c where a.学号=c.学号

  40. ------------------------------------------

  41. select top 10 学号,姓名,DATEDIFF(yyyy,出生日期,getdate())as 年龄 from 学生表 where 家庭地址='重庆市' order by 年龄 desc

  42. ------------------------------------------

  43. create view view_score as

  44. select a.学号,a.姓名,c.课程代码,c.分数 as 成绩 from 学生表 a inner join 成绩表 c on a.学号=c.学号

  45. ------------------------------------------

  46. create procedure XS_TJ

  47. @getnumb varchar(10)

  48. as

  49. begin

  50. select * from 学生表 A where A.学号=@getnumb

  51. end

ibangbangcn
2015-01-13 · TA获得超过2654个赞
知道大有可为答主
回答量:3368
采纳率:16%
帮助的人:1440万
展开全部
动感超人准备出现,小新,你先跟小白玩会儿啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
atkinson_nou
2015-01-13 · TA获得超过161个赞
知道小有建树答主
回答量:272
采纳率:0%
帮助的人:225万
展开全部
只写《四、数据查询》可否?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式