您好,欢迎访问三七文档
当前位置:首页 > 财经/贸易 > 资产评估/会计 > 关系代数与SQL作业题参考答案
关系代数及SQL查询实例练习SNOSNAMEAGESEX1李强23男2刘丽22女5张友22男CNO(课号)CNAME(课名)TEACHER(教师)k1C语言王华k5数据库原理程军k8编译原理程军SNOCNOGRADE1K1832K1855K1922K5905K5845K880SC:学生选课成绩表S:学生信息表C:课程信息表(1)检索“程军”老师所授课程的课程号CNO和课程名CNAME。))((,CTEACHERCNAMECNO程军(2)检索年龄大于21的男学生学号SNO和姓名SNAME。))((21,SSEXAGESNAMESNO男(3)检索至少选修“程军”老师所授全部课程的学生姓名SNAME。,()()()()()SNAMESNOCNOCNOTEACHERSSCC程军(4)检索“李强”同学不学课程的课程号。))(()(SCsCNAMECNOCNO李强(5)检索至少选修两门课程的学生学号。))((]5[]2[]4[]1[SCSCSNO(6)检索全部学生都选修的课程的课程号和课程名。)))()(((,,SSCCSNOCNOSNOCNAMECNO(7)检索选修课程包含“程军”老师所授课程之一的学生学号。)))(((CSCTEACHERCNOSNO程军))(()('5''1',CSCkCNOkCNOCNOCNOSNO(8)检索选修课程号为k1和k5的学生学号。(10)检索选修课程包含学号为2的学生所修课程的学生学号。(9)检索选修全部课程的学生姓名;(11)检索选修课程名为“C语言”的学生学号和姓名。)))(((('',CSCSCCNAMESNOSNAMESNO语言)(()('2',SCSCSNOCNOCNOSNO)))()(((,CSCSCNOCNOSNOSNAMESQL查询实例练习(1)检索“程军”老师所授课程的课程号CNO和课程名CNAME。SELECTCNO,CNAMEFROMCWHERETEACHER=’程军’;(2)检索年龄大于21的男学生学号SNO和姓名SNAME。SELECTSNO,SNAMEFROMSWHEREAGE21ANDSEX=’男’;(3)检索至少选修“程军”老师所授全部课程的学生姓名SNAME。SELECTSNAMEFROMSWHERENOTEXISTS(SELECT*FROMCWHERETEACHER=’程军’ANDNOTEXISTS(SELECT*FROMSCWHERESC.SNO=S.SNOANDSC.CNO=C.CNO));(4)检索“李强”同学不学课程的课程号。SELECTCNOFROMCWHERECNONOTIN(SELECTCNOFROMSC,SWHERESC.SNO=S.SNOANDS.SNAME=’李强’);SELECTCNOFROMCEXCEPTSELECTCNOFROMSC,SWHERESC.SNO=S.SNOANDS.SNAME=’李强’;或(5)检索至少选修两门课程的学生学号。SELECTSNOFROMSCA,SCBWHEREA.SNO=B.SNOANDA.CNOB.CNO;(6)检索全部学生都选修的课程的课程号和课程名。SELECTCNO,CNAMEFROMCWHERENOTEXISTS(SELECT*FROMSWHERENOTEXISTS(SELECT*FROMSCWHERESC.CNO=C.CNOANDSC.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)检索选修全部课程的学生姓名;SELECTSNAMEFROMSWHERENOTEXISTS(SELECT*FROMCWHERENOTEXISTS(SELECT*FROMSCWHERESC.SNO=S.SNOANDSC.CNO=C.CNO));SELECTSNOFROMSWHERENOTEXISTS(SELECT*FROMSCAWHERESC.SNO=’2’ANDNOTEXISTS(SELECT*FROMSCBB.SNO=S.SNOANDB.CNO=A.CNO));(10)检索选修课程包含学号为2的学生所修课程的学生学号。(11)SELECTSNO,SNAMEFROMS,SC,CWHERES.SNO=SC.SNOANDC.CNO=SC.CNOANDCNAME=’C语言’;(11)检索选修课程名为“C语言”的学生学号和姓名。SQL练习二NONAMESEXBIRTHDAYCLASS108曾华男09/01/7795033105匡明男10/02/7595031107王丽女01/23/7695033101李军男02/20/7695033109王芳女02/10/7595031103陆君男06/03/7495031NONAMESEXBIRTHDAYPROFDEPART804李诚男12/02/58副教授计算机系856张旭男03/12/69讲师电子工程系825王萍女05/05/72助教计算机系831刘冰女08/15/77助教电子工程系Student:学生信息表Teacher:教师信息表CNOCNAMETNO3-105计算机导论8253-245操作系统8046-166数据字电路8569-888高等数据学1006-187数据库系统804NOCNODEGREE1033-245861053-245751093-245681033-105921053-105881093-105761013-105641073-105911083-105781016-166851076-166791086-16681Course:课程信息表Score:成绩信息表(1)、在屏幕上列出student表中所有记录的name,sex和class列;(2)、屏幕显示教师所有的单位(即不重复的depart列);(3)、屏幕显示score表中成绩在60到80分之间的所有记录;(4)、在屏幕上显示student中”950311”班或性别为”女”的同学记录;(5)、以class降序在屏幕上显示student表的所有记录;(6)、在屏幕上显示“95031”班的学生人数;(7)、显示所有学生的name,cno和degree列;(8)、显示所有学生的name,cname和degree列;(9)、列出所有未讲课的教师的name和depart;(10)、删除student中学号为”999”的学生记录;(11)、将student中学号为”990”的学生的班号改为“95031”;用SQL完成以下操作:(1)selectname,sex,classfromstudent;(2)selectdistinctdepartfromteacher;(3)select*fromscorewheredegreebetween60and80;(4)select*fromstudentwhereclass=‘95031’orsex=‘女’;(5)select*fromstudentorderbyclassdesc;(6)selectcount(*)as学生人数fromstudentwhereclass='95031'(7)selectname,cno,degreefromstudent,course,scorewherestudent.no=score.no(8)selectname,cname,degreefromstudent,course,scorewherestudent.no=score.noandscore.cno=course.cno(9)selectname,departfromteacherwherenonotin(selectdistincttnofromcourse)(10)deletefromstudentwhereno='999'(11)updatestudentsetclass=’95031’whereno=’990’
本文标题:关系代数与SQL作业题参考答案
链接地址:https://www.777doc.com/doc-4375822 .html