欢迎来到天天文库
浏览记录
ID:57312245
大小:145.00 KB
页数:3页
时间:2020-08-11
《实验03 利用查询分析器查询(二)题目和答案.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验三利用查询分析器查询(二)【实验目的】1.学会利用查询分析器进行复杂查询和操作;【实验内容】1.使用样本(实验一)中的数据库。2.学会TRANSACT-SQL语言的使用。3.实行如下要求的查询和操作:①求出有一门课成绩在85分上的学生的学号、姓名selectdistinctSTUDENT.SNO,SNAMEfromSTUDENT,SCwhereSTUDENT.SNO=SC.SNOandGRADE>=85②求出各门课程成绩均在85分以上学生的学号、姓名selectdistinctSNO,SNAMEfromSTUDENTwhere852、electGRADEfromSCwhereSC.SNO=STUDENT.SNO)③查询没有选修“030303”号课程的学生姓名和年龄selectSNAME,AGEfromSTUDENTwherenotexists(select*fromSCwhereCNO='030304'andSC.SNO=STUDENT.SNO)④查询各门课程取得最高成绩的学生姓名和成绩SELECTSNAME,X.GRADEFROMSCX,STUDENTWHEREX.SNO=STUDENT.SNOANDGRADE=(SELECTMAX(GRADE)FROMSCYWHEREY.3、CNO=X.CNO)⑤检索学习了课程“操作系统”或“数据库系统原理”或“编译原理”其中一门课的学生学号。selectDISTINCTSNOfromSC,CwhereC.CNO=SC.CNOANDCNAMEin('操作系统','数据库系统原理','编译原理')⑥检索已经学习课程“操作系统”和“数据库系统原理”二门课的学生学号。SELECTDISTINCTSNOFROMSC,CWHERESC.CNO=C.CNOANDCNAME='操作系统'UNIONSELECTDISTINCTSNOFROMSC,CWHERESC.CNO=C.CNOANDCNAME=4、'数据库系统原理'或者selectdistinctSNOfromSCX,CX1whereX1.CNAME='操作系统'andX.CNO=X1.CNOandSNOin(selectSNOfromSCY,CY1whereCNAME='数据库系统原理'andY.CNO=Y1.CNO)①查询至少选修了学生090803101选修的全部课程的学生学号SELECTDISTINCTSNOFROMSCXWHERENOTEXISTS(SELECT*FROMSCYWHEREY.CNO='090803101'ANDNOTEXISTS(SELECT*FROMSCZWHER5、EZ.CNO=Y.CNOANDZ.CNO=X.CNO))②列出所有同学的姓名、课程名和成绩SELECTSNAME,CNAME,GRADEFROMSTUDENT,SC,CWHERESTUDENT.SNO=SC.SNOANDC.CNO=SC.CNO③查询与学生‘李勇’在同一系学习的学生(用“IN”谓词表示)SELECT*FROMSTUDENTWHEREclsIN(SELECTclsFROMSTUDENTWHERESNAME='李勇')andSNAME<>'李勇'④列出最高分同学的学号、课程号和成绩SELECTSNO,CNO,GRADEFROMSCXW6、HEREGRADE=(SELECTMAX(GRADE)FROMSCYWHEREX.CNO=Y.CNO)⑤列出李伟同学所有未选修课程的课程号和课程名(用存在量词表示)SELECTCNO,CNAMEFROMCWHERENOTEXISTS(SELECT*FROMSTUDENT,SCWHERESTUDENT.SNO=SC.SNOANDSC.CNO=C.CNOANDSNAME='李伟')⑥列出成绩比该课程平均成绩低的同学的成绩表SELECT*FROMSCXWHEREX.GRADE<(SELECTAVG(GRADE)FROMSCYWHEREY.CNO=X.C7、NO)①列出所有选修‘操作系统’课程的‘男’同学的成绩表SELECTSNAME,STUDENT.SNO,SC.CNO,GRADEFROMSTUDENT,SC,CWHERESTUDENT.SNO=SC.SNOANDSC.CNO=C.CNOANDCNAME='操作系统'ANDSEX='男'【实验步骤】(要求自己填写详细的实验步骤)【实验体会及存在问题】(要求自己填写)
2、electGRADEfromSCwhereSC.SNO=STUDENT.SNO)③查询没有选修“030303”号课程的学生姓名和年龄selectSNAME,AGEfromSTUDENTwherenotexists(select*fromSCwhereCNO='030304'andSC.SNO=STUDENT.SNO)④查询各门课程取得最高成绩的学生姓名和成绩SELECTSNAME,X.GRADEFROMSCX,STUDENTWHEREX.SNO=STUDENT.SNOANDGRADE=(SELECTMAX(GRADE)FROMSCYWHEREY.
3、CNO=X.CNO)⑤检索学习了课程“操作系统”或“数据库系统原理”或“编译原理”其中一门课的学生学号。selectDISTINCTSNOfromSC,CwhereC.CNO=SC.CNOANDCNAMEin('操作系统','数据库系统原理','编译原理')⑥检索已经学习课程“操作系统”和“数据库系统原理”二门课的学生学号。SELECTDISTINCTSNOFROMSC,CWHERESC.CNO=C.CNOANDCNAME='操作系统'UNIONSELECTDISTINCTSNOFROMSC,CWHERESC.CNO=C.CNOANDCNAME=
4、'数据库系统原理'或者selectdistinctSNOfromSCX,CX1whereX1.CNAME='操作系统'andX.CNO=X1.CNOandSNOin(selectSNOfromSCY,CY1whereCNAME='数据库系统原理'andY.CNO=Y1.CNO)①查询至少选修了学生090803101选修的全部课程的学生学号SELECTDISTINCTSNOFROMSCXWHERENOTEXISTS(SELECT*FROMSCYWHEREY.CNO='090803101'ANDNOTEXISTS(SELECT*FROMSCZWHER
5、EZ.CNO=Y.CNOANDZ.CNO=X.CNO))②列出所有同学的姓名、课程名和成绩SELECTSNAME,CNAME,GRADEFROMSTUDENT,SC,CWHERESTUDENT.SNO=SC.SNOANDC.CNO=SC.CNO③查询与学生‘李勇’在同一系学习的学生(用“IN”谓词表示)SELECT*FROMSTUDENTWHEREclsIN(SELECTclsFROMSTUDENTWHERESNAME='李勇')andSNAME<>'李勇'④列出最高分同学的学号、课程号和成绩SELECTSNO,CNO,GRADEFROMSCXW
6、HEREGRADE=(SELECTMAX(GRADE)FROMSCYWHEREX.CNO=Y.CNO)⑤列出李伟同学所有未选修课程的课程号和课程名(用存在量词表示)SELECTCNO,CNAMEFROMCWHERENOTEXISTS(SELECT*FROMSTUDENT,SCWHERESTUDENT.SNO=SC.SNOANDSC.CNO=C.CNOANDSNAME='李伟')⑥列出成绩比该课程平均成绩低的同学的成绩表SELECT*FROMSCXWHEREX.GRADE<(SELECTAVG(GRADE)FROMSCYWHEREY.CNO=X.C
7、NO)①列出所有选修‘操作系统’课程的‘男’同学的成绩表SELECTSNAME,STUDENT.SNO,SC.CNO,GRADEFROMSTUDENT,SC,CWHERESTUDENT.SNO=SC.SNOANDSC.CNO=C.CNOANDCNAME='操作系统'ANDSEX='男'【实验步骤】(要求自己填写详细的实验步骤)【实验体会及存在问题】(要求自己填写)
此文档下载收益归作者所有