第1页共2页广东金融学院实验报告课程名称:数据库原理与应用实验编号及实验名称实验二SQL使用实验系别姓名学号班级实验地点实验日期年月日实验时数6指导教师同组其他成员无成绩一、实验目的及要求1、掌握SQL查询语言的使用。2、掌握SQL流程控制语句的使用。3、要求独立完成,并记录SQL语句。二、实验环境及相关情况(包含使用软件、实验设备、主要仪器及材料等)1、计算机操作系统要求在windowsXP以上。2、并要求SQLServer软件2000以后版本。三、实验内容及要求请使用实验指导书中的关系数据库模型完成下面的内容。1、写出下面SQL语句实现的功能1)SELECTCOUNT(*)AS信管专业女学生人数FROMstudentWHEREmno=‘100165’ANDssex=‘女’查询信管专业女生人数2)SELECTDISTINCTSUBSTRING(sname,1,1)FROMstudent查询学生的姓3)SELECTsno,sname,ssex,mnoFROMstudentWHEREmnoIN(‘100165’,’201148’,’100838’)查询专业号为‘100165’,’201148’,’100838’的学生学号、姓名、性别专业号4)CREATEVIEWv_1ASSELECTccno,markFROMstudent_courseWHEREsno=‘100212201’ANDmarkANY第2页共2页(SELECTmarkFROMstudent_courseWHEREsno=‘100212208’)创建一个视图,显示学号为‘100212201’所选修的课程及成绩,要求成绩要比‘100212208’号学生的任一成绩要高。5)SELECTDISTINCTs.sno,sname,dnameFROMstudentASs,departmentASd,student_courseassc,majorasmWHEREs.mno=m.mnoandd.dno=m.dnoANDs.sno=sc.snoANDmark60查询有不及格成绩的学生的学号、姓名和系名6)SELECTsno,sname,mnameFROMstudentASs,majorASmWHEREs.mno=m.mnoANDs.snoIN(SELECTDISTINCTsnoFROMstudent_courseWHEREmark60)查询有不及格成绩的学生的学号、姓名和系名2、根据下面的要求,写出相应的查询语句1)查询所有男同学的选课情况,要求列出学号、姓名、开课号、分数。selects.sno,sname,ccno,markfromstudentass,student_courseasscwheres.sno=sc.snoandssex='男'2)创建一个视图显示所有学生的总成绩,最高成绩,要求列出学号、总成绩和最高成绩。CREATEVIEWV1(sno,sumMark,maxMark)ASSELECTsno,sum(Mark),max(Mark)FROMstudent_coursegroupbysno3)查询出姓张的学生或者姓名中带有“秋”的学生select*fromstudentwheresnamelike'张%'orsnamelike'%秋%'4)查询出每门课程的平均分、最低分、最高分selectavg(mark)as'平均分',min(mark)as'最低分',max(mark)as'最高分'fromstudent_coursegroupbyccno5)查询出平均分大于80分,且至少选修了2门课程的学生学号。selects.snofromstudentass,student_courseassc,courseasc,course_classasccwheres.sno=sc.snoandcc.ccno=sc.ccnoandc.cno=cc.cnogroupbys.snohaving(avg(mark)80andcount(*)=2)第3页共2页6)求选修课程号为’010104’且成绩在90以上的学生学号、姓名和成绩selects.sno,sname,markfromcourseasc,studentass,student_courseasscwherec.cno='010104'andmark907)创建一个视图显示每一门课程的间接先行课(即先行课的先行课)CREATEVIEWV2ASselecta.cno,a.cname,b.cpnoas'先行课的先行课'fromcourseasa,courseasbwherea.cpno=b.cno8)求高等数学课程的成绩高于刘晨的学生学号和成绩/*selects.sno,Markfromstudentass,student_courseasscwheres.sno=sc.snoandMark(selectMarkfromstudentass,student_courseassc,courseasc,course_classasccwheres.sno=sc.snoandsc.ccno=cc.ccnoandcc.cno=c.cnoands.sname='刘晨'andc.cname='高等数学')*/错误的!selectsc1.sno,sc1.mark,sc1.ccnofromstudent_coursesc1,coursec,course_classccwherec.cno=cc.cnoandcc.ccno=sc1.ccnoandc.cname='高等数学'andsc1.mark(selectsc2.markfromstudent_coursesc2,studentswheresc2.sno=s.snoands.sname='刘晨'andsc2.ccno=sc1.ccno)9)求其他系中比计算机系某一学生年龄小的学生(即年龄小于计算机系年龄最大者的学生)selects.sno,s.sname,sbirthfromstudentass,majorasm,departmentdwheres.mno=m.mnoandm.dno=d.dnoandd.dname'计算机系'ands.sbirth(selectmin(sbirth)fromstudentass,majorasmwheres.mno=m.mnoandm.mname='计算机科学与技术')10)被全部学生选修的课程selectcc.ccnofromcourse_classccwherenotexists(select*fromstudent_coursescwherenotexists(select*fromstudentswherecc.ccno=sc.ccnoandsc.sno=s.sno))3、思考题如何求出某门课成绩排名第5到第10之间的学生姓名。CREATEVIEWV3第4页共2页ASselecttop10*fromstudent_coursewhereccno=’’orderbymarkselect*fromV3exceptselecttop4*fromV3第5页共2页四、实验步骤及结果(包含简要的实验步骤流程、结论陈述)第6页共2页五、实验总结(包括心得体会、问题回答及实验改进意见)六、教师评语1、完成所有的实验内容,实验步骤和实验结果基本正确。2、至少完成主要的实验内容,实验步骤和实验结果基本正确。3、仅完成部分的实验内容,实验步骤和结果基本正确。4、虽然完成了主要实验内容,但是实验步骤和结果存在多处重大错误。5、未能很好地完成规定的实验内容,且实验步骤和结果基本不正确。评定等级:优秀良好中等及格不及格教师签名:年月日