北邮数据库实验报告(4)Word格式.docx
《北邮数据库实验报告(4)Word格式.docx》由会员分享,可在线阅读,更多相关《北邮数据库实验报告(4)Word格式.docx(17页珍藏版)》请在冰豆网上搜索。
或者模糊查询:
wherecourse_namelike'
%数据库开发技术'
执行结果:
(2)查询选修了课程编号为“dep04_s004”的学生的学号和成绩,并将成绩按降序输出;
selectstudent_id,grade
fromstudent_course
wherecourse_id='
dep04_s003'
orderbygradedesc;
(3)查询学号为“g9940205”的学生选修的课程编号和成绩;
selectcourse_id,grade
wherestudent_id='
g9940205'
(4)查询选修了课程编号为“dep04_s001”且成绩高于85分的学生的学号和成绩。
dep04_s001'
andgrade>
'
85'
2.在多表连接的查询实验中,用TransactSQL语句完成以下查询操作:
(1)查询选修了课程编号为“dep04_s002”且成绩高于85分的学生的学号、姓名和成绩;
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>
(2)查询所有学生的学号、姓名、选修的课程名称和成绩;
selectstudent.student_id,student_name,course_name,grade
fromstudent,course,student_course
andstudent_course.course_id=course.course_id;
(3)查询林红同学选修的课程名称、学分和成绩。
(考试成绩>
=60 有学分,否则无学分。
)
selectcourse_name,student_course.credit,grade
fromstudent,student_course,course
wherestudent_name='
林红'
andstudent.student_id=student_course.student_id
3.在复杂查询实验中,用TransactSQL语句完成以下查询操作:
(1)查询至少选修了三门课程的学生的学号和姓名;
selectstudent.student_id,student_name
groupbystudent.student_id,student_name
havingcount(student_course.course_id)>
=3;
(2)查询选修课程号为“dep04_b001”的学生的平均成绩;
selectavg(grade)
dep04_b001'
(3)查询所有学生的学号和他选修课程的最高成绩,要求他的选修课程中没有成绩为空的。
selectstudent_id,max(grade)
whereexists(selectgrade
fromstudent_course)
groupbystudent_id;
(4)查询严为老师2001/2002学年教的软件开发技术课程的最高成绩及此学生的学号、姓名、班级。
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='
软件开发技术'
teacher_course_class.course_id=student_course.course_idand
student_course.student_id=student.student_idand
teacher_course_class.school_year='
2001/2002'
student_course.grade>
=all(selectgrade
fromstudent_course,course
wherestudent_course.course_id=course.course_idand
course.course_name='
);
(5)查询数据库开发技术课程用过的教材名称,作者和出版社。
selectbook_name,author,publish_company
frombook,course
wherecourse.book_id=book.book_id
andcourse_name='
SQLSERVER数据库开发技术'
(6)查询计算机科学系讲授过数据库开发技术的老师姓名和职称。
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='
计算机科学'
course.course_name='
4.在嵌套查询实验中,用TransactSQL语句完成以下查询操作,要求写嵌套查询语句:
(1)查询选修了软件开发技术的学生的学号和姓名;
selectstudent_id,student_name
fromstudent
wherestudent_idin(selectstudent_id
fromstudent_course
wherecourse_idin(selectcourse_id
fromcourse
wherecourse_name='
));
(2)查询没有选修软件开发技术的学生的学号和姓名;
wherenotexists(selectstudent_id
fromstudent_course
wherecourse_idin(selectcourse_id
fromcourse
wherecourse_name='
(3)查询至少选修了学号为“g9940201”的学生所选修的所有课程的学生的学号和姓名。
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)学生学号、姓名、所在系、授课老师姓名、课程名称、课程教材名称、出版社、学分、选课成绩
Createviewview1(student_id,student_name,de