sqlserver习题练习.docx
- 文档编号:10046140
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:9
- 大小:17.62KB
sqlserver习题练习.docx
《sqlserver习题练习.docx》由会员分享,可在线阅读,更多相关《sqlserver习题练习.docx(9页珍藏版)》请在冰点文库上搜索。
sqlserver习题练习
1、创建数据库图书管理系统(tsgl),其数据文件初始大小为10mb,最大值为100mb,增长率为10%;日志文件初始大小为2mb,最大值为20mb,增长率为1mb。
数据文件和日志文件都放在D盘下以自己的学号加姓名命名的文件内。
2、为tsgl数据库增加一个辅助数据文件,初始大小为20mb,最大值不受限制,增长率为20%。
3、在tsgl数据库中创建以下表:
图书表:
列名
数据类型
长度
说明
图书编号
Char
15
主键
名称
Varchar
30
非空
作者
Char
8
非空
价格
Money
出版社
Varchar
30
非空
备注
Text
读者表
列名
数据类型
长度
说明
借书证编号
Char
11
主键
读者名
Char
8
非空
班级
Char
7
非空
性别
Bit
非空
备
注
Text
借还表
列名
数据类型
长度
说明
借书证编号
Char
11
外键,参照读者表的借书证编号
图书编号
Char
15
外键,参照图书表的图书编号
借阅时间
Datetime
归还时间
Datetime
向上面表添加如下数据:
图书表:
S10001
数学
张建
43
机械工业出版社
S10002
语文
何强
40
内蒙古出版社
S10003
C语言
谭浩强
62
清华大学出版社
国家级精品教材
读者表
D2011
张三
1000101
1
D3011
李四
1000102
0
D3012
王五
1000102
1
借还表:
D2011
S10002
2010/12/24
D2011
S10003
2010/5/14
2010/6/11
D3012
S10003
2010/4/3
2010/6/2
4、把语文这门图书的价格改为45
5、把语文的价格改为50,同时将其备注改为优秀教材
6、将图书编号为S10001的出版社改为清华大学出版社
7、将读者编号为D3012的读者编号改为D3013
8、记录读者编号为D2011在2010/12/27归回了一本图书编号为S10002的图书
9、删除读者编号为D3012的读者信息。
10、删除读者编号为D3012的借书记录
11、删除备注为空的图书信息
在XSCJ数据库下创建表Teacher、Class、Education各表的表结构如下:
12、Teacher
列名
数据类型
约束
说明
教师编号
Char(5)
主键
教师姓名
Char(8)
非空
联系电话
Char(11)
办公室
Varchar(20)
备注
text
13、Class
班级编号
Char(7)
主键
班级名称
Varchar(20)
非空
责任教室
Char(4)
班主任编号
Char(5)
即教师编号
备注
rext
14、Education
课程编号
Char(3)
主键
外键参照course表课程号列
教师编号
Char(5)
外键参照teacher表教师编号列
班级编号
Char(7)
外键参照class表班级编号列
上课时间
Char(10)
上课教室
Char(10)
15、向上面三张表添加如下数据:
班级编号为0600101的班级名称叫软件开发一班,他们的责任教室在2401,班主任的教师编号为20011。
16、教师编号为20011的王小刚老师,其电话号码为:
137********,办公室在邮局1211,担任0600101班级的101课程,在星期一早上12节在2401教室上课。
17、查询Student表中通信工程专业的学生的学号,姓名,专业名。
18、查询Student表中计算机专业的男学生学号,姓名,专业名,性别。
19、查询Student表中所有通信工程80后的女学生信息。
20、查询Student学生表中姓王的学生信息。
21、查询Student表中所有学生的学号,姓名,性别以及专业名。
22、查询Course表中所有课程的课程号,课程名。
23、查询Student表中每个学生的所有信息。
24、查询Course表中所有课程情况。
25、查询Score表中的所有数据。
26、查询Student表中所有学生的学号,姓名,总学分,结果中各列的标题分别指定为我的学号,我的姓名,我的总学分(变列名使用三种方式完成)。
27、查询Score表中所有数据,结果列标题分别指定为S_id,C_id,S_score.
28、查询Score表中的所有信息,成绩按总分为150分显示(原成绩为100分制,不要修改表中数据)。
29、查询Score表中的所有数据,成绩信息为原成绩加上5分后的成绩(不要修改表中的数据)。
30、查询Course表中课程名为’计算机基础’的课程的课程号,学分
31、查询student表中的专业(消去重复的专业),并注意观察结果。
32、查询student表中有哪些性别。
33、查询student表中前5行学生的所有信息。
34、查询Score表中的前40%的数据。
35、查询Score表,显示学号、课程号和分数。
并且当分数大于等于90分时,显示“优秀”;分数大于等于80分小于90分时,显示“良好”;分数大于等于70分小于80分时,显示“中等”;分数大于等于60分小于70分时,显示“及格”;分数小于60分时,显示“不及格”;列标题更改为“等级”。
在score表中查询选修了206号课程或101课程的学生学号。
查询选修了206号课程或101课程的学生情况。
解题分析:
先在score表中查询出选修了206号课程或101课程的学生的学号,然后在students表中查询以上学号对应的学生的情况
36、查询没有选修了206号课程或101课程的学生情况。
解题分析:
在查询出了选修了以上课程的同学基础上取反
37、在score表中查询101号课程成绩在70分到90分之间的学生的学号
38、查询101号课程成绩在70分到90分之间的学生姓名、性别、专业名。
39、查询选修了“数据结构”的学生的情况。
解题分析:
先在courses表中查询出数据结构对应的课程号,然后在score表中查询该课程号对应选修的学号,最后在students表中查询这些学号对应的学生情况。
40、查询与王林在同一个专业学习的学生情况。
解题分析:
先在students表中查询姓名为王林的同学所在的专业名,然后再在students表中查询该专业学习的学生情况。
41、在teacher表中查询陈欣老师的教师编号。
42、查询陈欣老师所教的班级编号。
解题分析:
先在teacher表中查询出教师姓名为陈欣的教师编号,然后在education表中查询该教师编号对应的班级编号
43、查询陈欣老师所教的学生情况。
解题分析:
先在teacher表中查询出教师姓名为陈欣的教师编号,然后在education表中查询该教师编号对应的班级编号,最后在students表中查询以上班级编号所对应的学生情况。
44、查询所有通信工程专业的学生的成绩。
解题分析:
先在students表中查询专业名为通信工程的所有同学的学号,然后在score表中查询这些同学的成绩。
45、查询比所有通信工程专业学生成绩都高的学生情况。
解题分析:
联系第十二题,查询在score表中存在条件比上面所有的成绩都高的学号,然后在students表中查询这些学号对应的学生信息
46、将姓名为张蔚的同学的所有成绩加上5分。
47、删除计算机专业所有学生大于90分的成绩记录。
48、把学号为’09001104’的学生的计算机基础成绩减少5分。
49、查询选修了206号课程或101课程的学生的姓名,成绩。
(students.学号=score.学号)
50、查询选修了课程名为’计算机基础’的成绩在70分以上的学生的姓名和成绩。
(students.学号=score.学号,score.课程号=courses.课程号)
51、查询姓名为’王林’的学生信息以及他的选修信息。
(students.学号=score.学号)
52、查询’0600101’班的班级情况以及他们的课表情况(class.班级号=education.班级号)
53、查询’0600101’班的班级情况和班主任姓名(class.班主任编号=teacher.教师编号)
54、查询’0600101’班的班级名称,以他们的课表情况和给他们上课的教师姓名(class.班级编号=education.班级编号,education.教师编号=teacher.教师编号)
55、查询教师编号为’20012’的教师姓名,上课的班级名称以及所教的学生姓名。
(students.班级编号=education.班级编号,class.班级编号=education.班级编号,education.教师编号=teacher.教师编号)
56、查询教师编号为’20012’的教师姓名,上课的班级名称以及所教的学生姓名以及每个同学的选修情况。
(students.班级编号=education.班级编号,class.班级编号=education.班级编号,education.教师编号=teacher.教师编号,students.学号=score.学号)
57、查询教师编号为’20012’的教师姓名,上课的班级名称以及所教的学生姓名以及每个同学的选修每门课程的名称以及成绩。
(students.班级编号=education.班级编号,class.班级编号=education.班级编号,education.教师编号=teacher.教师编号,students.学号=score.学号,score.课程号=courses.课程号)
58、查询所有的学生信息以及他们的选课情况,如果该学生没有选课,也需要包含该学生的信息(students.学号=score.学号)
解题分析:
可以使用外连接,查询结果是那些本来不能连接起来的学生记录,因为这些学生没有选课,所有他们对应的课程编号为空
59、查询所有未被选修的课程情况
60、查询所有未上课的教师情况
61、查询students表中拥有的专业名,使查询结果具有可读性。
(相同的专业名只需要出现一次,查询结果具有可读性是指该列具有列名称)
62、在students表中查询通信工程专业的学生,按照学生的年龄大小从小到大排列,使查询结果具有可读性。
(年龄从小到大,出生时间应该降序排列)
63、统计students表中有多少学生,使查询结果具有可读性。
(在students表中,每条记录代表一个学生,也可以用一个学号代表一个学生。
)
64、统计students表中计算机专业有多少学生,使查询结果具有可读性。
65、查询score表中选修了计算机基础课程的人数,该课程的平均分,最高分,使查询结果具有可读性。
(先在courses表中查询出计算机基础课程的课程号,然后在score表中统计该课程的各项信息)
66、在score表中统计每个同学的平均分,最高分,最低分,使查询结果具有可读性。
(在score表中,相同的一个学号对应多个课程号代表一个同学选修了多门课程)
67、在score表中统计每门课程的平均分,最高分,最低分,使查询结果具有可读性。
(在score表中,相同的课程号对应多个学号代表一门课程被多个学生选修)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- sqlserver 习题 练习