数据库实验五题目答案.docx
《数据库实验五题目答案.docx》由会员分享,可在线阅读,更多相关《数据库实验五题目答案.docx(8页珍藏版)》请在冰豆网上搜索。
数据库实验五题目答案
实验五
实验5.1数据查询
1)要求
以School数据库为例,在该数据库中存在四张表格,分别为:
表STUDENTS(sid,sname,email,grade);
表TEACHERS(tid,tname,email,salary);
表COURSES(cid,cname,hour);
表CHOICES(no,sid,tid,cid,score)在数据库中,存在这样的关系:
学生可以选择课程,一个课程对应一个教师。
在表CHOICES中保存学生的选课记录。
按以下要求对数据库进行查询操作:
(1)查询年级为2001的所有学生的名称并按编号升序排列。
程序:
Selectsnamefromstudentswheregrade='2001'orderbysidasc;
(2)查询学生的选课成绩合格的课程成绩。
程序:
Selectscorefromchoiceswherescore>'59';
(3)查询课时是48或60的课程的名称。
程序:
selectcname
fromcourses
wherehour='48'orhour='60';
rcig7seko(hitirra.s
se1.ectcrajre
*
Irc(mcourses
wh=rehoiar^143'cchour-B6C1;
aJIJ
□翳liifis]
ETiSM
X.
1
“mpggr占phiK
2
l^va
G*+
designpotten
■5
ddtBstiiuziuie
g
CCimpubein^t:
werk
7
iW・ne:
驴闻m
—
3
律SEE!
c
■*・*
二
匸査闷己底功英厅・
PC坦□.1:
EIW)
巴lMZnii心Zm(EE)
S^chc-Ql
co:
co:
oo
sir
(4)查询所有课程名称中含有data的课程编号。
程序:
selectcid
from
courses
where
cnamelike'%data%';
(5)查询所有选课记录的课程号(不重复显示)程序:
selectdistinetcid
from
choices;
(6)统计所有教师的平均工资。
程序:
selectavg(salary)fromteachers;
(7)查询所有教师的编号及选修其课程的学生的平均成绩,按平均成绩降序排列。
程序:
selecttid,avg(score)
fromchoices
GROUPBYtid
orderbyavg(score)desc;
PCiS.Sch.sJL...Q.PCI9(9-CI7FJ)
PCI-Qstrat(52)
百於加1
COQOW
悟OJQ行
(8)统计各个课程的选课人数和平均成绩。
程序:
selectcount(distinctsid),avg(score)
fromchoicesgroupbycid
(9)查询至少选修了三门课程的学生编号。
程序:
selectsid
from
choices
grouphaving
bysid
count(cid)>='3';
(10)查询编号800009026的学生所选的全部课程的课程名和成绩。
程序:
selectdistinetcname,score
fromcourses,choices
wheresid='800009026'andcourses.cid=choices.cid
(11)查询所有选修了database的学生的编号
程序:
selectsid
from
choices,courses
where
cname='database'andchoices.cid=courses.cid;
(12)求出选择了同一个课程的学生对。
程序:
Selectx.sid,y.sid
Fromchoicesx,choicesy
Wherex.cid=y.cidandx.sid<>y.sid
(13)求出至少被两名学生选修的课程编号。
程序:
selectcid
fromchoices
group
bycid
JFClO.Scikovl...Q-o.arp<.摘耍
诗X
Me丄匕亡t.EJd.
rroiftchoices
QEZ翡fclVOLQ
Ijavl^qccuatiSistine?
c曰工a---2:
」I
J
,n
1谄果
j;州讯1
Cid
■
■
1
.idoti|
iaaE^
110003
100"
5
toots
B
luumb
7
10007
g
二i
IOOCS
■:
空至词:
咸功执订・FCLT(P.OR7Wi|rC]t\^iris1rttflrSE)Sch^]
QQ-OTM
|r疔
(14)查询选修了编号800009026的学生所选的某个课程的学生编号。
程序:
selectsid
from
choices
where
cid
in(select
cid
from
choices
where
sid=
'800009026'
)andsid<>'800009026'
(15)查询学生的基本信息及选修课程编号和成绩。
程序:
selectstudents.sid,sname,email,grade,cid,score
fromstudents,choices
wherestudents.sid=choices.sid
(16)查询学号850955252的学生的姓名和选修的课程名及成绩。
程序:
select
sname
cname,score
from
students
courses,choices
where
choices
.sid='850955252'
and
courses
.cid=choices.cid
andstudents
.sid=choices
.sid
(17)查询与学号
850955252的学生冋年级的所有学生资料。
程序:
select
*
from
students
where
grade=(selectgrade
from
students
where
sid='850955252');
(18)查询所有有选课的学生的详细信息。
selectstudents
.sid,
sname,
email,
grade,
no,cid
students
choices
cidis
notnull
and
students
.sid
=choices
程序:
from
where
score
.sid
sjxS^SQLEI...Ouery3T刊3上搞要+X
匸K匸口反匸》2丄及°nnomUr吕碍丄1”丁工巨OUrD口.G,盘,二匚Q=U二
fromstudents,choices
whereGid丄芒二nt二i二二二n二注srudenta・白1(1=少□丄c亡普■吕id
匕川」」園
二I结果’」洎息
Bid
sname
email
grads
no
cid
scone
1
[39M87563
nbi旳
b9oGhnz^dcp.cDm
1M9
5GtU01821
10012
S2
i
2
89^387563
nbiwp
b9offnii@zdcp.com
1995
538382629
10010
79
3
399087563
nbiwvp
*9c研mzfSjdcji.com
1999
54334SE95
1D023
63
4
335S&7&63
nbiwp
fci5o^mz^
[彌
518167432
10039
80
5
韵虻B巧63
nbiwp
bfc6frni@
1935
54152WK1
10021
60
6
8SO79W
jjchfvu
5ffa¥m(®q£^njg0v
2004
53+貓201
10013
NULL
7
33旳3刑10
qchivii
5ffsvm@qafngov
2DW
588117713
10030
62
rt
iwsnift冲n
■II.f—
jra.*-1i
miAu
rrrjT-i11nt
政AjH-h1
rn
二
旳亶询已咸功执…sju9S\£Q(EEIPMSS(9.0SP2)5ji00:
052舶5ED行