SQLSERVER上机考试题Word下载.docx
- 文档编号:13285458
- 上传时间:2022-10-09
- 格式:DOCX
- 页数:7
- 大小:18.12KB
SQLSERVER上机考试题Word下载.docx
《SQLSERVER上机考试题Word下载.docx》由会员分享,可在线阅读,更多相关《SQLSERVER上机考试题Word下载.docx(7页珍藏版)》请在冰豆网上搜索。
Char
7
否
无
主键
S_name
姓名
8
S_major
专业
VarChar
20
S_sex
性别
Bit
1
男=1,女=0
S_birth
出生日期
smalldatetime
2.课程表(CourseInfos)结构
C_id
课程号
3
C_name
课程名
C_credit
学分
Tinyint
3.学生与课程表(StudentCourseInfos)结构
外键(参照学生表中的学号)
外键(参照课程表中的课程号)
Sc_grade
成绩
是
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
计算机基础
102
C语言
5
103
数据库
4
201
离散数学
202
计算机网络
301
软件工程
4
学生与课程表(StudentCourseInfos)
80
89
78
57
67
90
85
91
69
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(成绩)>
6.查找平均成绩在80分以上的学生的学号和平均成绩。
select学号,AVG(成绩)平均成绩fromXS_KCgroupby学号havingAVG(成绩)>
(四)子查询的使用
1.查询平均成绩高于101号课程平均分的课程号及平均成绩。
select课程号,avg(成绩)'
fromxs_kcgroupby课程号havingavg(成绩)>
(selectavg(成绩)fromxs_kcgroupby课程号having课程号='
)
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、最终显示学生的学号格式是:
******XX
2、随机出来的学号,必须是班上存在的学生。
排除休学的学生。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQLSERVER 上机 考试题