当前位置:文档之家› 北邮数据库实验报告

北邮数据库实验报告

数据库实验报告(四)姓名:学号:班级:1.简单查询:(1) 查询“数据库开发技术”课程的学分;SQL语句:select creditfrom coursewhere course_name='SQL Server数据库开发技术';或者模糊查询:select creditfrom coursewhere course_name like'%数据库开发技术';执行结果:(2) 查询选修了课程编号为“dep04_s004”的学生的学号和成绩,并将成绩按降序输出;SQL语句:select student_id,gradefrom student_coursewhere course_id='dep04_s003'order by grade desc;执行结果:(3) 查询学号为“g9940205”的学生选修的课程编号和成绩;SQL语句:select course_id,gradefrom student_coursewhere student_id='g9940205';执行结果:(4) 查询选修了课程编号为“dep04_s001”且成绩高于85分的学生的学号和成绩。

SQL语句:select student_id,gradefrom student_coursewhere course_id='dep04_s001'and grade>'85';执行结果:2.在多表连接的查询实验中,用Transact SQL语句完成以下查询操作:(1)查询选修了课程编号为“dep04_s002”且成绩高于85分的学生的学号、姓名和成绩;SQL语句:select student.student_id,student_name,gradefrom student,student_coursewhere student.student_id=student_course.student_idand student_course.course_id='dep04_s002'and student_course.grade>'85';执行结果:(2)查询所有学生的学号、姓名、选修的课程名称和成绩;SQL语句:select student.student_id,student_name,course_name,gradefrom student,course,student_coursewhere student.student_id=student_course.student_idand student_course.course_id=course.course_id;执行结果:(3)查询林红同学选修的课程名称、学分和成绩。

(考试成绩>=60 有学分,否则无学分。

)SQL语句:select course_name,student_course.credit,gradefrom student,student_course,coursewhere student_name='林红'and student.student_id=student_course.student_idand student_course.course_id=course.course_id;3.在复杂查询实验中,用Transact SQL语句完成以下查询操作:(1)查询至少选修了三门课程的学生的学号和姓名;SQL语句:select student.student_id,student_namefrom student,student_coursewhere student.student_id=student_course.student_idgroup by student.student_id,student_namehaving count(student_course.course_id)>=3;执行结果:(2)查询选修课程号为“dep04_b001”的学生的平均成绩;SQL语句:select avg(grade)from student_coursewhere course_id='dep04_b001';执行结果:(3)查询所有学生的学号和他选修课程的最高成绩,要求他的选修课程中没有成绩为空的。

SQL语句:select student_id,max(grade)from student_coursewhere exists(select gradefrom student_course)group by student_id;执行结果:(4)查询严为老师2001/2002学年教的软件开发技术课程的最高成绩及此学生的学号、姓名、班级。

SQL语句:select student.student_id,student_name,student.class_id,gradefrom teacher_course_class,teacher,course,student,student_coursewhere teacher_course_class.teacher_id = teacher.teacher_id andteacher.teacher_name ='严为'andteacher_course_class.course_id = course.course_id andcourse.course_name ='软件开发技术'andteacher_course_class.course_id = student_course.course_id andstudent_course.student_id = student.student_id andteacher_course_class.school_year ='2001/2002'andstudent_course.grade>=all(select gradefrom student_course,coursewhere student_course.course_id =course.course_id andcourse.course_name ='软件开发技术'); 执行结果:(5)查询数据库开发技术课程用过的教材名称,作者和出版社。

SQL语句:select book_name,author,publish_companyfrom book,coursewhere course.book_id=book.book_idand course_name='SQL SERVER数据库开发技术';执行结果:(6)查询计算机科学系讲授过数据库开发技术的老师姓名和职称。

SQL语句:select teacher_name,professionfrom teacher,course,teacher_course_class,departmentwhere teacher.teacher_id = teacher_course_class.teacher_id andcourse.course_id = teacher_course_class.course_id anddepartment.department_id = teacher.department_id anddepartment.department_name ='计算机科学'andcourse.course_name ='SQL Server数据库开发技术';执行结果:4. 在嵌套查询实验中,用Transact SQL语句完成以下查询操作,要求写嵌套查询语句:(1)查询选修了软件开发技术的学生的学号和姓名;SQL语句:select student_id,student_namefrom studentwhere student_id in(select student_idfrom student_coursewhere course_id in(select course_idfrom coursewhere course_name ='软件开发技术'));执行结果:(2)查询没有选修软件开发技术的学生的学号和姓名;SQL语句:select student_id,student_namefrom studentwhere not exists(select student_idfrom student_coursewhere course_id in(select course_idfrom coursewhere course_name ='软件开发技术'));执行结果:(3)查询至少选修了学号为“g9940201”的学生所选修的所有课程的学生的学号和姓名。

SQL语句:select student_id,student_namefrom studentwhere not exists(select*from student_course student_course1where student_course1.student_id ='g9940201'and not exists(select*from student_course student_course2where student.student_id=student_course2.student_idand student_course2.course_id = student_course1.course_id));执行结果:5. 建立如下视图:学生选修课程信息视图,包括以下内容:对(1)(2)内容用企业管理器和SQL语句方式分别完成。

1)学生学号、姓名、所在系、授课老师姓名、课程名称、课程教材名称、出版社、学分、选课成绩SQL语句:Create viewview1(student_id,student_name,department_name,teacher_name,course_name,book_name,publish_name,credit,grade)as select distinctstudent.student_id,student.student_name,department_name,teacher_name,course_name,book_name,publish_company,student_course.credit,student_course.grad efromstudent,course,department,student_course,teacher,teacher_course_class,book,clas swherestudent.student_id=student_course.student_idand student.class_id=class.class_idand class.department_id=department.department_idand student_course.course_id=course.course_idand course.book_id=book.book_idand teacher.teacher_id=teacher_course_class.teacher_idand teacher_course_class.course_id=course.course_id企业管理器:Step1:右键视图,选择新建视图。

相关主题