SQLSERVER上机考试题.docx

上传人:b****5 文档编号:3346806 上传时间:2022-11-22 格式:DOCX 页数:7 大小:80.77KB
下载 相关 举报
SQLSERVER上机考试题.docx_第1页
第1页 / 共7页
SQLSERVER上机考试题.docx_第2页
第2页 / 共7页
SQLSERVER上机考试题.docx_第3页
第3页 / 共7页
SQLSERVER上机考试题.docx_第4页
第4页 / 共7页
SQLSERVER上机考试题.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

SQLSERVER上机考试题.docx

《SQLSERVER上机考试题.docx》由会员分享,可在线阅读,更多相关《SQLSERVER上机考试题.docx(7页珍藏版)》请在冰豆网上搜索。

SQLSERVER上机考试题.docx

SQLSERVER上机考试题

SQL-SERVER上机考试题

D

C_id

课程号

Char

3

外键(参照课程表中的课程号)

Sc_grade

成绩

Tinyint

0

0≤成绩≤100

一、数据完整性

1、在StudentInfos中,要求性别只能输入0或1。

2、在CourseInfos中,要求学分不能小于1,且不能大于10

3、在StudentCourseInfos中,要求成绩分数在0到100之间(包含0和100)

二、使用语句向数据库JYxxxx的StudentInfos表、CourseInfos表和StudentCourseInfos表中插入或修改成如下数据:

学生情况表(StudentInfos)

学号

姓名

性别

专业

出生日期

4102101

王林

计算机

1983-1-23

4102102

吴荣华

计算机

1984-3-28

4202103

张强

电子

1981-11-19

4202110

王向荣

电子

1980-12-9

4202221

李丽

电子

1982-7-30

4302101

刘明

自控

1982-10-18

4402130

叶凡

数学

1983-11-18

课程表(CourseInfos)

课程号

课程名

学分

101

计算机基础

3

102

C语言

5

103

数据库

4

201

离散数学

4

202

计算机网络

4

301

软件工程

4

学生与课程表(StudentCourseInfos)

学号

课程号

成绩

4102101

101

80

4102101

102

89

4102101

103

78

4102102

101

57

4102102

102

67

4202103

103

90

4202110

101

85

4202110

102

91

4202221

101

69

4402130

101

78

4402130

103

74

三、视图操作

1.创建视图V_SCORE1,使其显示计算机专业学生的所有基本信息(性别用中文标识,例如:

1则显示男),并保证以后对该视图的修改都要满足专业为“计算机”这个条件。

2.创建视图V_SCORE2,通过V_SCORE2查看各个专业所有课程的平均成绩,结果格式为:

专业平均成绩

…………

四、数据库关系图

创建视图D_BASE

五、以下题目均在JYxxxx(学生管理)数据库中完成。

并写出操作SQL语句

(一)简单查询

1.查询StudentInfos表中各个同学的姓名、生日和性别。

答:

selectS_name,S_birth,S_sexfromStudentInfos

2.查询StudentInfos表中所有同学的学号、姓名,结果中各列的标题分别指定为num,name。

答:

selectS_idnum,S_namename,C_creditmarkfromStudentInfos

3.查询StudentInfos表中的学生数据来自哪些专业(使用DISTINCT子句消除结果集中的重复行)。

selectDISTINCTS_majorfromStudentInfos

答“

4.查询StudentInfos表中专业为“计算机”的男学生信息。

答:

select

5.查询年龄最小的前三个同学的姓名、专业和生日。

答:

(二)数据汇总

1.求专业为“计算机”的学生的总人数。

答selectcount(*)fromXSwhere专业='计算机'

2.求选修了“101”课程的学生的人数。

答:

selectCOUNT(*)fromXS_KCwhere课程号='101'

3.统计各个专业的学生数。

(按专业分组)

答:

select专业,性别,count(*)as人数fromXSgroupby专业,性别

4.统计各个专业的男女生人数。

格式如下:

专业性别人数

………………

答:

(三)连接查询

1.查询每个学生的基本情况及选修的课程情况,格式如下:

学号姓名专业课程号成绩成绩等级(>=90A;>=80B;>=70C;>=60D;<60D)

………………………………

答:

2.查询“计算机”专业且选修了“计算机基础”课程的学生的学号、姓名及成绩。

答:

selectxs.学号,xs.姓名,xs_kc.成绩fromxsjoinxs_kconxs.学号=xs_kc.学号joinkconxs_kc.课程号=kc.课程号andxs.专业='计算机'andkc.课程名='计算机基础'

3.显示每门课程的平均成绩并显示总平均成绩。

格式如下:

课程名平均成绩

…………

总平均……

答:

selectCASEWHEN(GROUPING(a.课程名)=1)THEN'总平均'ELSEa.课程名ENDAS课程名,avg(b.成绩)as'平均成绩'fromkcajoinxs_kcbona.课程号=b.课程号groupbya.课程名WITHrollup

4.查询各个专业各门课程的平均成绩。

格式如下

专业课程名平均成绩

………………

答:

selecta.专业,c.课程名,avg(b.成绩)as'平均成绩'fromxsajoinxs_kcbona.学号=b.学号joinkcconb.课程号=c.课程号groupbya.专业,c.课程名

5.查询“计算机”专业平均成绩在85分以上的学生的学号、姓名和平均成绩。

答:

selectb.学号,a.姓名,avg(成绩)as'平均成绩'fromxsajoinxs_kcbon(a.学号=b.学号)and(a.专业='计算机')groupbyb.学号,a.姓名havingavg(成绩)>85

6.查找平均成绩在80分以上的学生的学号和平均成绩。

答:

select学号,AVG(成绩)平均成绩fromXS_KCgroupby学号havingAVG(成绩)>80

(四)子查询的使用

1.查询平均成绩高于101号课程平均分的课程号及平均成绩。

答:

select课程号,avg(成绩)'平均成绩'fromxs_kcgroupby课程号havingavg(成绩)>(selectavg(成绩)fromxs_kcgroupby课程号having课程号='101')

2.查找未选修“C语言”课程的学生的情况。

(嵌套子查询)

答:

select*fromxswhere学号notin(select学号fromxs_kcwhere课程号in(select课程号fromkcwhere课程名='C语言'))

3.查找选修了“计算机基础”课程的学生的情况。

答:

select*fromxswhere学号in(select学号fromxs_kcwhere课程号=(select课程号fromkcwhere课程名='计算机基础'))

4.查询“计算机基础”成绩及格的学生的学号、姓名、性别和专业情况。

答:

select学号,姓名,性别,专业fromxswhere学号in(select学号fromxs_kcwhere成绩>=60and课程号=(select课程号fromkcwhere课程名='计算机基础'))

5.查询至少选修了“4102102”同学选修课程的学生的基本信息。

答:

select*fromxswhere学号in(select学号fromxs_kcwhere课程号='4102102')

(五)数据的插入、删除和修改

1.在StudentInfos添加一条自己的信息,并选择数据库课程,以及给自己打分。

答:

2.将StudentCourseInfos表中学号为“4102101”的同学的“计算机基础”课程的成绩增加10分。

答:

updateStudentCourseInfosset成绩=成绩+10where学号='4102101'

3.将StudentCourseInfos表中“软件工程”课程的成绩不及格的信息删除。

答:

(六)SQL基础语法

随机求班上的一个学生的学号。

要求:

1、最终显示学生的学号格式是:

152011XX

2、随机出来的学号,必须是班上存在的学生。

排除休学的学生。

答:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1