《数据库原理及应用案例教程》

《数据库原理及应用案例教程》
《数据库原理及应用案例教程》

实验4 数据库的多表连接查询实验

一,实验目的

继续熟练查询分析器的使用方法;理解多表查询的概念;掌握多表查询的SELECT.FROM.WHERE.GROUP BY.HA VING 子句的用法,特别要求比较内连接,外连接的结果。

二,实验内容

在已建立Studentinfo 数据库和三个表STUDENTS,COURSES,ENROLLMENT的基础上,用SELECT语句完成下列查询:

1)查询每个学生的基本信息以及他、她选课的情况。

SELECT Students.*,Enrollment.*

FROM Students,Enrollment

WHERE Students.Sno=Enrollment.Sno

2)查询每个学生的学号,姓名,选修的课程名,成绩。

SELECT Students.Sno,Sname,Cname,Grade

FROM Students,Courses,Enrollment

WHERE Students.Sno=Enrollment.Sno AND https://www.360docs.net/doc/9717673348.html,o=https://www.360docs.net/doc/9717673348.html,o

3)查询选修了C2且成绩大于90分的学生的学号,姓名,成绩。

SELECT Students.Sno,Sname,Grade

FROM Students,Enrollment

WHERE Students.Sno=Enrollment.Sno AND Cno=’c2’ AND Grade>90

4)求计算机系选修课程超过两门课的学生的学号,姓名,成绩。并平均成绩降序排列。SELECT Students.Sno,Sname,A VG (Grade) ’Average’

FROM Students,Enrollment

WHERE Students.Sno=Enrollment.Sno AND Sdept=’Computer’

Group by Students.Sno,Sname

HA VING COUNT (*)>=2

Order by SUM(Grade)DESC

5)查询与Sue在同一个系学习的所有学生的学号,姓名。

SELECT S2.Sno,S2.Sname

FROM Students S1,Students S2

WHERE S1.Sdept=S2.Sdept AND S1.Sname=’Sne’

6)查询所有学生的选修情况,要求包括选修了课程的学生和没有选修课的学生,显示他们

的学号,姓名,课程号和成绩。

SELECT Students.Sno,Sname,Cno,Grade

FROM Students,Enrollment

WHERE Students.Sno*=Enrollment.Sno

三,实验步骤

有关服务器的启动,停止步骤以及查询分析器的使用。

相关主题
相关文档
最新文档