《数据库习题课》PPT课件

《数据库习题课》PPT课件

ID:44063288

大小:497.31 KB

页数:15页

时间:2019-10-18

《数据库习题课》PPT课件_第1页
《数据库习题课》PPT课件_第2页
《数据库习题课》PPT课件_第3页
《数据库习题课》PPT课件_第4页
《数据库习题课》PPT课件_第5页
资源描述:

《《数据库习题课》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据库习题课(第二章and第三章)关系代数与SQL语句例题1设有如图所示的关系S,SC,C,试用关系代数表达式表示下列查询语句:S#SNAMEAGESEX1李强23男2刘丽22女3张友22男C#CNAMETEACHERK1C语言王华K5数据库原理程军K8编译原理程军S#C#GRADE1K1832K1855K1922K5905K5845K880(1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME)。(2)检索年龄大于21的男学生学号(S#)和姓名(SNAME)。(3)检索至少选修“程军”老师所授全部课程的学生姓名。(4)检索“李强”同学不学课程的课程号。(5)检索至少选修两门

2、课程的学生学号(S#)。(6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。(7)检索选修课程包含“程军”老师所授课程之一的学生学号(S#)。(8)检索选修课程号为K1和K5的学生学号(S#)。(9)检索选修全部课程的学生姓名(SNAME)。(10)检索选修课程包含学号为2的学生所修课程的学生学号(S#)。(11)检索选修课程名为“C语言”的学生学号(S#)和姓名(SNAME)。(2)(1)(3)(4)(5)(6)(7)(8)(9)(10)(11)(1)检索“程军”老师所授课程的课程号CNO和课程名CNAME。SELECTCNO,CNAMEFROMCWHERETEACH

3、ER=’程军’;(2)检索年龄大于21的男学生学号SNO和姓名SNAME。SELECTSNO,SNAMEFROMSWHEREAGE>21ANDSEX=’男’;(3)检索至少选修“程军”老师所授全部课程的学生姓名SNAME。SELECTSNAMEFROMSWHERENOTEXISTS(SELECT*FROMCWHERETEACHER=’程军’ANDNOTEXISTS(SELECT*FROMSCWHERESC.SNO=S.SNOANDSC.CNO=C.CNO));(4)检索“李强”同学不学课程的课程号。SELECTCNOFROMCWHERECNONOTIN(SELECTCNOFROMSC,S

4、WHERESC.SNO=S.SNOANDS.SNAME=’李强’);SELECTCNOFROMCEXCEPTSELECTCNOFROMSC,SWHERESC.SNO=S.SNOANDS.SNAME=’李强’;或(5)检索至少选修两门课程的学生学号。SELECTSNOFROMSCA,SCBWHEREA.SNO=B.SNOANDA.CNO<>B.CNO;(6)检索全部学生都选修的课程的课程号和课程名。SELECTCNO,CNAMEFROMCWHERENOTEXISTS(SELECT*FROMSWHERENOTEXISTS(SELECT*FROMSCWHERESC.CNO=C.CNOANDSC

5、.SNO=S.SNO));(7)检索选修课程包含“程军”老师所授课程之一的学生学号。SELECTSNOFROMC,SCWHEREC.CNO=SC.CNOANDC.TEACHER=’程军’;(8)检索选修课程号为k1和k5的学生学号。SELECTSNOFROMSCWHERESC.CNO=’k1’INTERSECTSELECTSNOFROMSCWHERESC.CNO=’k5’;或:SELECTSNOFROMSCA,SCBWHEREA.SNO=B.SNOANDA.CNO=’k1’ANDB.CNO=’k5’;(9)检索选修全部课程的学生姓名;SELECTSNAMEFROMSWHERENOTEXI

6、STS(SELECT*FROMCWHERENOTEXISTS(SELECT*FROMSCWHERESC.SNO=S.SNOANDSC.CNO=C.CNO));1.所有未选过的课程的数据集:select*from课程wherenotexists(select*from选读where课程号=课程.课程号)2.所有没被某位学号为@学号的学生选过的课程的记录集(@学号学生的未选课程):select*from课程wherenotexists(select*from选读where学号=@学号and课程号=课程.课程号)请注意,多出了学号的筛选即,学号=@学号。3.遍历每一个主查询的学号,每一个学号都

7、按第二筛选方法筛选出:没有未选课程的学生的学号。(不包括在第查询方法查询出的“有未学课程的学号的记录集”中的记录。)请注意:用主查询中的学生.学号代替了@学号。select学生.姓名from学生wherenotexists(select*from课程wherenotexists(select*from选读where学号=学生.学号and课程号=课程.课程号))这已经是整个查询语句,可以看出子查询中用学生.学号替换了第2步中的@学号S

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。