北邮数据库实验报告(4).docx
《北邮数据库实验报告(4).docx》由会员分享,可在线阅读,更多相关《北邮数据库实验报告(4).docx(17页珍藏版)》请在冰豆网上搜索。
数据库实验报告(四)
姓名:
学号:
班级:
1.简单查询:
(1)查询“数据库开发技术”课程的学分;
SQL语句:
selectcredit
fromcourse
wherecourse_name='SQLServer数据库开发技术';
或者模糊查询:
selectcredit
fromcourse
wherecourse_namelike'%数据库开发技术';
执行结果:
(2)查询选修了课程编号为“dep04_s004”的学生的学号和成绩,并将成绩按降序输出;
SQL语句:
selectstudent_id,grade
fromstudent_course
wherecourse_id='dep04_s003'
orderbygradedesc;
执行结果:
(3)查询学号为“g9940205”的学生选修的课程编号和成绩;
SQL语句:
selectcourse_id,grade
fromstudent_course
wherestudent_id='g9940205';
执行结果:
(4)查询选修了课程编号为“dep04_s001”且成绩高于85分的学生的学号和成绩。
SQL语句:
selectstudent_id,grade
fromstudent_course
wherecourse_id='dep04_s001'andgrade>'85';
执行结果:
2.在多表连接的查询实验中,用TransactSQL语句完成以下查询操作:
(1)查询选修了课程编号为“dep04_s002”且成绩高于85分的学生的学号、姓名和成绩;
SQL语句:
selectstudent.student_id,student_name,grade
fromstudent,student_course
wherestudent.student_id=student_course.student_id
andstudent_course.course_id='dep04_s002'
andstudent_course.grade>'85';
执行结果:
(2)查询所有学生的学号、姓名、选修的课程名称和成绩;
SQL语句:
selectstudent.student_id,student_name,course_name,grade
fromstudent,course,student_course
wherestudent.student_id=student_course.student_id
andstudent_course.course_id=course.course_id;
执行结果:
(3)查询林红同学选修的课程名称、学分和成绩。
(考试成绩>=60 有学分,否则无学分。
)
SQL语句:
selectcourse_name,student_course.credit,grade
fromstudent,student_course,course
wherestudent_name='林红'
andstudent.student_id=student_course.student_id
andstudent_course.course_id=course.course_id;
3.在复杂查询实验中,用TransactSQL语句完成以下查询操作:
(1)查询至少选修了三门课程的学生的学号和姓名;
SQL语句:
selectstudent.student_id,student_name
fromstudent,student_course
wherestudent.student_id=student_course.student_id
groupbystudent.student_id,student_name
havingcount(student_course.course_id)>=3;
执行结果:
(2)查询选修课程号为“dep04_b001”的学生的平均成绩;
SQL语句:
selectavg(grade)
fromstudent_course
wherecourse_id='dep04_b001';
执行结果:
(3)查询所有学生的学号和他选修课程的最高成绩,要求他的选修课程中没有成绩为空的。
SQL语句:
selectstudent_id,max(grade)
fromstudent_course
whereexists(selectgrade
fromstudent_course)
groupbystudent_id;
执行结果:
(4)查询严为老师2001/2002学年教的软件开发技术课程的最高成绩及此学生的学号、姓名、班级。
SQL语句:
selectstudent.student_id,student_name,student.class_id,grade
fromteacher_course_class,teacher,course,student,student_course
whereteacher_course_class.teacher_id=teacher.teacher_idand
teacher.teacher_name='严为'and
teacher_course_class.course_id=course.course_idand
course.course_name='软件开发技术'and
teacher_course_class.course_id=student_course.course_idand
student_course.student_id=student.student_idand
teacher_course_class.school_year='2001/2002'and
student_course.grade>=all(selectgrade
fromstudent_course,course
wherestudent_course.course_id=course.course_idand
course.course_name='软件开发技术');
执行结果:
(5)查询数据库开发技术课程用过的教材名称,作者和出版社。
SQL语句:
selectbook_name,author,publish_company
frombook,course
wherecourse.book_id=book.book_id
andcourse_name='SQLSERVER数据库开发技术';
执行结果:
(6)查询计算机科学系讲授过数据库开发技术的老师姓名和职称。
SQL语句:
selectteacher_name,profession
fromteacher,course,teacher_course_class,department
whereteacher.teacher_id=teacher_course_class.teacher_idand
course.course_id=teacher_course_class.course_idand
department.department_id=teacher.department_idand
department.department_name='计算机科学'and
course.course_name='SQLServer数据库开发技术';
执行结果:
4.在嵌套查询实验中,用TransactSQL语句完成以下查询操作,要求写嵌套查询语句:
(1)查询选修了软件开发技术的学生的学号和姓名;
SQL语句:
selectstudent_id,student_name
fromstudent
wherestudent_idin(selectstudent_id
fromstudent_course
wherecourse_idin(selectcourse_id
fromcourse
wherecourse_name='软件开发技术'));
执行结果:
(2)查询没有选修软件开发技术的学生的学号和姓名;
SQL语句:
selectstudent_id,student_name
fromstudent
wherenotexists(selectstudent_id
fromstudent_course
wherecourse_idin(selectcourse_id
fromcourse
wherecourse_name='软件开发技术'));
执行结果:
(3)查询至少选修了学号为“g9940201”的学生所选修的所有课程的学生的学号和姓名。
SQL语句:
selectstudent_id,student_name
fromstudent
wherenotexists
(select*
fromstudent_coursestudent_course1
wherestudent_course1.student_id='g9940201'
andnotexists
(select*
fromstudent_coursestudent_course2
wherestudent.student_id=student_course2.student_id
andstudent_course2.course_id=student_course1.course_id));
执行结果:
5.建立如下视图:
学生选修课程信息视图,包括以下内容:
对
(1)
(2)内容用企业管理器和SQL语句方式分别完成。
1)学生学号、姓名、所在系、授课老师姓名、课程名称、课程教材名称、出版社、学分、选课成绩
SQL语句:
Createviewview1(student_id,student_name,de