实验内容数据库的嵌套查询实验实验目的进一步掌握SQLServer的使用方法,学会利用Transact-SQL语言表达嵌套查询语句,理解相关的SQL语句。实验内容用Transact-SQL表达嵌套查询操作,包括使用IN、比较符、ANY或ALL和EXISTS等操作符,通过SQLServer查询分析器输入、分析并显示正确结果。实验前准备Courses表:Reports表:Students表:实验结果求选修了高等数学的学生学号和姓名2)求C1课程的成绩高于张三的学生学号和成绩3)求其他系中比计算机系某一学生年龄小的学生4)求其他系中比计算机系学生年龄都小的学生5)求选修了C2课程的学生姓名6)求没有选修C2课程的学生姓名7)查询选修了全部课程的学生的姓名8)求至少选修了学号为“S2”的学生所选修的全部课程的学生学号和姓名主要实验步骤1)求选修了高等数学的学生学号和姓名selectsno,snamefromstudentsawheresnoin(selectsnofromreportsbwheresno=(o=ame='高等数学'))求C1课程的成绩高于张三的学生学号和成绩selectsno,o=1andgrade>(o=1andsno=(selectsnofromstudentswheresname='张三'))3)求其他系中比计算机系某一学生年龄小的学生selectsno,snamefromstudentswheresdept<>'计算机'and2012-year(birthday)<any(select2012-year(birthday)fromstudentswheresdept='计算机')4)求其他系中比计算机系学生年龄都小的学生selectsno学号,sname姓名fromstudentswheresdept<>'计算机'and2012-year(birthday)<all(select2012-year(birthday)fromstudentswheresdept='计算机')5)求选修了C2课程的学生姓名selectsnamefromstudentsawhereexists(select*o=2andsno=)6)求没有选修C2课程的学生姓名selectsnamefromstudentsawherenotexists(select*o=2andsno=)7)查询选修了全部课程的学生的姓名selectsnamefromstudentsawherenotexists(select*fromcoursesbwherenotexists(select*o=oandsno=))8)求至少选修了学号为“S2”的学生所选修的全部课程的学生学号和姓名selectdistinctsno,snamefromstudentsawherenotexists(select*fromreportsbwheresno=2andnotexists(select*fromreportswheresno==o))实验出现的问题和解决办法出现的问题:查询文件关闭后开启执行出现“对象名无效”错误解决方法:(1)通过鼠标选择可用数据库为Teach数据库,即对象数据库;(2)利用SQL语句“USETeach”即“USE”+数据库名称指定
数据库的嵌套查询实验 来自淘豆网m.daumloan.com转载请标明出处.