数据库系统概论课后习题答案与效果展示.docx
《数据库系统概论课后习题答案与效果展示.docx》由会员分享,可在线阅读,更多相关《数据库系统概论课后习题答案与效果展示.docx(30页珍藏版)》请在冰豆网上搜索。
数据库系统概论课后习题答案与效果展示
使用SQL查询分析器:
创建数据库
createdatabaseteaching1
创建一个T表:
createtablet
(t#char(4)notnull,
tnamechar(8)notnull,
titlechar(10),
primarykey(t#))
创建一个S表:
createtables
(s#char(4)notnull,
snamechar(8)notnull,
agesmallint,
sexchar
(1),
primarykey(s#));
创建一个C表:
createtablec
(c#char(4),
cnamechar(10)notnull,
t#char(4),
primarykey(c#));
创建一个SC表:
createtablesc
(s#char(4),
c#char(4),
scoresmallint,
primarykey(s#,c#),
foreignkey(s#)referencess(s#),
foreignkey(c#)referencesc(c#));
插入t表数据
insertintot
values('t01','WANG','Professor')
insertintot
values('t02','GU','Professor')
insertintot
values('t03','FANG','Professor')
insertintot
values('t04','LI','Lecturer')
insertintot
values('t05','LIU','Professor')
insertintot
values('t06','YE','Professor');
t#
tname
title
t01
WANG
Professor
t02
GU
Professor
t03
FANG
Professor
t04
LI
Lecturer
t05
LIU
Professor
t06
YE
Professor
插入s表数据
insertintos(s#,sname,age,sex)
values('s36','Gu','20','M');
insertintos(s#,sname,age,sex)
values('s01','WU','21','F');
insertintos(s#,sname,age,sex)
values('s02','WANG','20','M');
insertintos(s#,sname,age,sex)
values('s03','SHEN','15','F');
insertintos(s#,sname,age,sex)
values('s04','LIU','16','F');
insertintos(s#,sname,age,sex)
values('s05','LOU','22','F');
insertintos(s#,sname,age,sex)
values('s06','LI','21','M');
insertintos(s#,sname,age,sex)
values('s07','LIN','23','M');
insertintos(s#,sname,age,sex)
values('s08','FANG','21','F');
insertintos(s#,sname,age,sex)
values('s09','YING','20','M');
insertintos(s#,sname,age,sex)
values('s10','SUN','17','F');
insertintos(s#,sname,age,sex)
values('s11','YAN','18','F');
insertintos(s#,sname,age,sex)
values('s12','ZHOU','22','F');
insertintos(s#,sname,age,sex)
values('s13','MU','21','M');
insertintos(s#,sname,age,sex)
values('s14','SU','24','M');
insertintos(s#,sname,age,sex)
values('s15','LANG','21','F');
insertintos(s#,sname,age,sex)
values('s16','LUO','20','M');
insertintos(s#,sname,age,sex)
values('s17','JIANG','19','F');
insertintos(s#,sname,age,sex)
values('s18','YU','19','F');
insertintos(s#,sname,age,sex)
values('s19','LING','22','F');
insertintos(s#,sname,age,sex)
values('s20','MA','25','M');
s#
sname
age
sex
s01
WU
21
F
s02
WANG
20
M
s03
SHEN
15
F
s04
LIU
16
F
s05
LOU
22
F
s06
LI
21
M
s07
LIN
23
M
s08
FANG
21
F
s09
YING
20
M
s10
SUN
17
F
s11
YAN
18
F
s12
ZHOU
22
F
s13
MU
21
M
s14
SU
24
M
s15
LANG
21
F
s16
LUO
20
M
s17
JIANG
19
F
s18
YU
19
F
s19
LING
22
F
s20
MA
25
M
s36
Gu
20
M
插入c表数据
insertintoc
values('c01','高数','t02');
insertintoc
values('c02','英语','t01');
insertintoc
values('c03','物理','t03');
insertintoc
values('c04','毛概','t04');
insertintoc
values('c05','生物','t01');
insertintoc
values('c06','模电','t05');
insertintoc
values('c07','MATHS','t06');
c#
cname
t#
c01
高数
t02
c02
英语
t01
c03
物理
t03
c04
毛概
t04
c05
生物
t01
c06
模电
t05
c07
MATHS
t06
插入sc表数据
insertintosc
values('s01','c01',90);
insertintosc
values('s36','c01',100);
insertintosc
values('s01','c02',100);
insertintosc
values('s01','c03',80);
insertintosc
values('s01','c04',89);
insertintosc
values('s02','c02',80);
insertintosc
values('s02','c03',98);
insertintosc
values('s02','c04',89);
insertintosc
values('s03','c04',98);
insertintosc
values('s36','c04',85);
insertintosc
values('s04','c02',85);
insertintosc
values('s04','c03',95);
insertintosc
values('s04','c04',92);
insertintosc
values('s05','c04',76);
insertintosc
values('s06','c04',86);
insertintosc
values('s06','c01',72);
insertintosc
values('s03','c06',72);
insertintosc
values('s06','c06',82);
insertintosc
values('s04','c05',82);
insertintosc
values('s07','c01',96);
insertintosc
values('s08','c01',95);
insertintosc
values('s09','c01',94);
insertintosc
values('s10','c01',95);
insertintosc
values('s11','c01',97);
insertintosc
values('s12','c01',97);
insertintosc
values('s13','c01',90);
insertintosc
values('s14','c01',95);
insertintosc
values('s15','c01',95);
insertintosc
values('s16','c01',94);
insertintosc
values('s17','c01',96);
insertintosc
values('s18','c01',97);
insertintosc
values('s19','c01',90);
insertintosc
values('s20','c01',90);
insertintosc
values('s20','c02',90);
insertintosc
values('s07','c02',96);
insertintosc
values('s08','c02',95);
insertintosc
values('s09','c02',94);
insertintosc
values('s10','c21',95);
insertintosc
values('s11','c02',97);
insertintosc
values('s12','c02',97);
insertintosc
values('s13','c02',90);
insertintosc
values('s14','c02',95);
insertintosc
values('s15','c02',95);
insertintosc
values('s16','c02',94);
insertintosc
values('s17','c02',96);
insertintosc
values('s18','c02',97);
insertintosc
values('s19','c02',90);
insertintosc
values('s20','c02',90);
insertintosc
values('s15','c03',null);
insertintosc
values('s15','c04',null);
insertintosc
values('s17','c05',null);
insertintosc
values('s20','c04',null);
insertintosc
values('s07','c07',96);
insertintosc
values('s08','c07',55);
insertintosc
values('s09','c07',79);
insertintosc
values('s10','c07',63);
insertintosc
values('s11','c07',15);
insertintosc
values('s12','c07',32);
insertintosc
values('s13','c07',76);
insertintosc
values('s14','c07',88);
insertintosc
values('s15','c07',68);
insertintosc
values('s16','c07',60);
insertintosc
values('s17','c07',53);
insertintosc
values('s18','c07',97);
insertintosc
values('s19','c07',49);
insertintosc
values('s20','c07',53);
insertintosc
values('s05','c01',90);
insertintosc
values('s04','c01',90);
insertintosc
values('s03','c01',90);
insertintosc
values('s02','c01',90);
s#
c#
score
s01
c01
90
s01
c02
100
s01
c03
80
s01
c04
89
s02
c01
90
s02
c02
80
s02
c03
98
s03
c01
90
s03
c04
98
s03
c06
72
s04
c01
90
s04
c03
95
s04
c04
92
s05
c01
90
s05
c04
76
s06
c01
72
s06
c04
86
s06
c06
82
s07
c01
96
s07
c02
96
s07
c07
96
s08
c01
95
s08
c02
95
s08
c07
55
s09
c01
94
s09
c02
94
s09
c07
79
s10
c01
95
s10
c07
63
s11
c01
97
s11
c02
97
s11
c07
15
s12
c01
97
s12
c02
97
s12
c07
32
s13
c01
90
s13
c02
90
s13
c07
76
s14
c01
95
s14
c02
95
s14
c07
88
s15
c01
95
s15
c02
95
s15
c03
s15
c04
s15
c07
68
s16
c01
94
s16
c02
94
s16
c07
60
s17
c01
96
s17
c02
96
s17
c05
s17
c07
53
s18
c01
97
s18
c02
97
s18
c07
97
s19
c01
90
s19
c02
90
s19
c07
49
s20
c01
90
s20
c02
90
s20
c04
s20
c07
53
s36
c01
100
s36
c04
85
P112(第3.2题)
1)检索年龄小于17岁的女学生的学号和姓名:
selects#,sname
froms
whereage<17andsex='F';
s#
sname
1
s03
SHEN
2
s04
LIU
2)检索男学生所学课程的课程号和课程名
selectc.c#,cname
froms,sc,c
wheres.s#=sc.s#andsc.c#=c.c#andsex='M';
1
c01
高数
2
c02
英语
3
c03
物理
4
c04
毛概
5
c01
高数
6
c04
毛概
7
c06
模电
8
c01
高数
9
c02
英语
10
c07
MATHS
11
c01
高数
12
c02
英语
13
c07
MATHS
14
c01
高数
15
c02
英语
16
c07
MATHS
17
c01
高数
18
c02
英语
19
c07
MATHS
20
c01
高数
21
c02
英语
22
c07
MATHS
23
c01
高数
24
c02
英语
25
c04
毛概
26
c07
MATHS
27
c01
高数
28
c04
毛概
3)检索男学生所学课程的任课老师的工号和姓名
selectt.t#,tname
froms,sc,c,t
wheres.s#=sc.s#andsc.c#=c.c#andc.t#=t.t#andsex='M';
t#
tname
1
t02
GU
2
t01
WANG
3
t03
FANG
4
t04
LI
5
t02
GU
6
t04
LI
7
t05
LIU
8
t02
GU
9
t01
WANG
10
t06
YE
11
t02
GU
12
t01
WANG
13
t06
YE
14
t02
GU
15
t01
WANG
16
t06
YE
17
t02
GU
18
t01
WANG
19
t06
YE
20
t02
GU
21
t01
WANG
22
t06
YE
23
t02
GU
24
t01
WANG
25
t04
LI
26
t06
YE
27
t02
GU
28
t04
LI
4)检索至少选修两门课程的学生学号
selectdistinctx.s#
fromscasx,scasy
wherex.s#=y.s#andx.c#!
=y.c#;
s#
1
s01
2
s02
3
s03
4
s04
5
s05
6
s06
7
s07
8
s08
9
s09
10
s10
11
s11
12
s12
13
s13
14
s14
15
s15
16
s16
17
s17
18
s18
19
s19
20
s20
21
s36
5)检索至少有学号为S02和S04学生选修的课程和课程号
selectdistinctx.c#
fromscasx,scasy
wherex.s#='s02'andy.s#='s04'andx.c#!
=y.c#;
c#
1
c01
2
c02
3
c03
4
c04
6)检索WANG同学不学的课程和课程号
selectc#
fromc
wherenotexists
(
select*
froms,sc
wheres.s#=sc.s#andsc.c#=c.c#andsname='WANG'
);
c#
1
c05
2
c06
3
c07
7)检索全部学生都选修的课程的课程号与课程名
selectc#,cname
fromc
wherenotexists
(
select*
froms
wherenotexists
(
select*
fromsc
wheres#=s.s#andc#=c.c#
));
c#
cname
1
c01
高数
8)检索选修课程包含LIU老师所授全部课程的学生学号
selectdistincts#
fromscasx
wherenotexists
(select*
fromc,t
wherec.t#=t.t#andtname='LIU'
andnotexists
(select*
fromscasy
wherey.s#=x.s#andy.c#=c.c#));
s#
1
s03
2
s06
书本上的作业题:
P112(第3.7题)
1)统计有学生选修的课程门数
selectcount(distinctc#)
fromsc;
无列名
1
7
2)求选修C4课程的女同学的平均年龄
selectavg(age)
froms,sc
wheres.s#=sc.s#andc#='c4'andsex='F';