结构化查询语言(A)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

注意:

1、先将此文件改名为自己的学号+姓名,然后做题,最后只要提交该文件即可

2、必须严格按分配表中指定的题目作答,否则,成绩记为0分。

3、遵守考试纪律,考试时只允许打开考试文件和SQL SERVER;有软件录屏,只要在屏幕上发现其它软件窗口,一律按作弊处理。

一、创建数据库XSKC,并设置数据库的主数据文件名为XSKC_DATA,初始大小为10MB,最大为无限大,增长速度为20%。日志文件名为XSKC_LOG,初始大小为2MB,最大为5MB,增长速度为1MB。所有的文件放在D:\DATA中。

XSKC数据库包含以下图示数据表:

要求:

1、将SC表中的学生号,课程号设置为外键,分别参照学生表中的学生号和课程表中的课程号

2、为课程表设置外键CPNO,参照课程表的主键CNO

3、为学生表设置约束(Check),规定性别只能是‘男’或者‘女’,默认值为“男”;为成绩表设置约束,规定成绩值为0-100之间的数值。Student

Course

SC

请在此处写出创建数据库和各数据表及插入数据的SQL语句:

二、请完成以下SQL语句操作:(按如下方法答题,将正确的SQL语句运行,有运行结果后,拷贝屏幕,以图形形式粘贴在对应题号下方,要求SQL语句字号大一些,能看清楚些)

0、查询所有学生的信息

(一)简单选择和投影及空值:

1、查找计算机系或信息系的女生学号、姓名

2、查找计算机系的学生信息或所有男生的信息(用集合查询做)

3、查找成绩在80到90之间的学生的成绩信息

4、查找没有被选修的课程号

5、查找没有选修课程的学生学号

6、查找1998年出生的学生名单,以如下形式显示:Sname、Birthyear

7、查找每个学生的学号,增加5岁后的年龄及转化为大写后的系部,以如下形式显示:Sno、NewSage、UpSdept

8、查询先修课为空值的课程号和课程名

(二)LIKE子句的应用

9、查找姓张的学生信息

10、查找姓名中第二个字为“立”的学生信息

11、查找系部中不包含“S”的学生

12、查找系部中第一个字符为A-H的学生信息

13、查询"张"姓学生的数量

14、查找系部的第二个字符不为‘S’的学生信息

15、查询姓"欧阳"且全名为三个汉字的学生的姓名

(三)分组统计

16、计算所有有选课的学生的总分、平均分、最高分、最低分

17、计算'201215121'选课的总分、平均分、最高分、最低分及选课个数

18、计算选修了'2'号课程的学生的总分、平均分、最高分、最低分及选课人数

19、计算所有有选课的学生的人数

20、统计学生表中男女生的个数

21、统计每个学生选课的门数

22、统计每门课程的选课人数

23、查询选修了两门及以上的学生的学号和选课门数

24、查询选课人数为两个以上的课程的课号和选课人数

25、查询平均成绩大于等于85分的学生学号和平均成绩

26、计算每个学生大于80分的课程的平均成绩,再查询平均成绩大于等于90分的学生学号和平均成绩

(四)排序:

27、查询选修了“2”号课程的学生的成绩,结果按分数降序排列

28、查询前三名学生的成绩信息

29、查询学生表中每一个年龄的学生人数,要求查询结果按人数升序排列,人数相同按年龄降序排列

30、查询平均成绩最好的前三名学生的学号和分数

(五)连接操作:

31、查询每个学生及其选课情况(两个表)

32、查询每个学生选修的课程名、成绩和学号

33、检索学习了"2"号课程的学生的学号和姓名

34、查询选修了‘2’号课程且成绩在90分以上的学生的学号、姓名、

成绩

35、查询“李勇”同学所学课程的课程号、课程名、成绩、学分

36、查询学号为"201215121"的学生在其各科成绩中,最高分成绩所对应的课程名和成绩

37、查询出只选修了一门课程的全部学生的学生号和姓名

38、查询有选课的学生成绩为90分以上的学号、姓名、所选课程的课程号、课程名、成绩、学分

(六)自连接

39、查询与"刘晨"在同一个系的学生姓名(自连接)

40、查询同名学生的学号和姓名(自连接)

(七)子查询:

41、查询选修了“数据库”课程的学生的学号、年龄和姓名

42、查询没有选课的学生信息

43、查询没有选课的课程信息

44、查找'CS'系中年龄最大的学生的学号和年龄

45、查询其他系中所有与"CS"系学生同龄的学生信息

46、检索不学“2”号课程的学生的姓名和年龄(必须用子查询做)

47、查询学生选课中大于自己的平均成绩的课程成绩信息

48、查询与“刘晨”在同一个系学习的学生(子查询)

(八)复杂查询

49、查询同名学生的姓名,并统计同名的人数

50、查询选修了“1”号课程也选修了“2”号课程的学生的学号

51、查询学过编号为"1"但是没有学过编号为"2"的课程的同学的信息

52、查询每门课程中成绩最好的前两名的课程号和成绩

(九)视图:

53、建立信息系学生的视图ISSTU_VIEW,并要求进行修改和插入操作时仍需保证该视图只有信息系的学生

54、创建“CJ_VIEW”视图,包括学生的学号、姓名、课程号和成绩。

55、建立“CS”系选修了2号课程的学生的视图CJ2_VIEW,包括学号、姓名、课程号和成绩

56、创建“CJ80_VIEW”视图,包括成绩为80分以上的学生的学号、姓名、课程名、成绩和学分。

57、创建视图“PJCJ_VIEW”,包括被选修课程的课程号及平均成绩

(十)存储过程

58、在XSKC数据库中创建无参存储过程STU_PROC,查询学生的个人信息、所选课程和成绩信息

59、在XSKC数据库中创建存储过程UPDATEGRADE,将指定学生选修指定课程的成绩清零,若该生未选修该课程,则输出信息“*****学生未选修**课程!”

60、在XSKC数据库中编写带输入参数的存储过程INSERTSTU,代替

相关文档
最新文档