实验报告(四) 专业: 班级: 学号: 姓名: 实验名称:数据库的多表连接查询实验 报告内容: 1、用SELECT语句完成第183页实验3的23)27)28)31)的查询语句 23) 求选修了课程的学生人数 SELECT COUNT(*)选课人数 FROM Enrollment 27)求选修每门课程的学生人数。 SELECT Cno AS '课程号', COUNT(Sno) AS '选修人数' FROM Enrollment GROUP BY Cno 28)求每个学生的学号和各门课程的总成绩。 SELECT Sno '学号', Sum(grade) '总成绩' FROM Enrollment GROUP BY Sno 31)查询选修了C1课程的学生的学号和成绩,查询结果按成绩降序排列。 SELECT Sno, Grade FROM Enrollment WHERE Cno='C1' ORDER BY Grade DESC 32)查询全体学生信息,查询结果按所在系的系名升序排列,同一系的学生按年龄降序排列。 SELECT * FROM Students ORDER BY Sdept, Sage DESC 2、用SELECT语句完成第183页实验4的2)3)4)6)的查询语句 2)查询每个学生的学号、姓名、选修的课程名、成绩。 SELECT Students.Sno,Sname, Cname,Grade FROM Students,Courses,Enrollment WHERE Students.Sno = Enrollment.Sno AND Courses.Cno= Enrollment.Cno 3)查询选修了C2且成绩大于90分的学生的学号、姓名、成绩。 SELECT Students.Sno,Sname, Grade FROM Students, Enrollment WHERE Students.Sno = Enrollment.Sno AND Cno='C2 ' AND Grade>90 4)求计算机系选修课程超过2门课的学生的学号、姓名、平均成绩, 并按平均成绩从高到低排序。 SELECT Students.Sno, Sname, AVG(Grade) 'Average' FROM Students, Enrollment WHERE Students.Sno= Enrollment.Sno AND Sdept='Computer' GROUP BY Students.Sno,Sname HAVING COUNT(*) >= 2 ORDER BY SUM(Grade) DESC 6)查询所有学生的选修情况,要求包括选修了课程的学生和没有修课的学生,显示他们的学号、姓名、课程号、成绩。 SELECT Students.Sno, Sname,Cno,Grade FROM Students,Enrollment WHERE Students.Sno*=Enrollment.Sno 上述左外连接可可以用右外连接等价表示: SELECT Students.Sno, Sname,Cno,Grade FROM Students,Enrollment WHERE Enrollment.Sno =* Students.Sno 在SQLSERVER2000中,以上左外连接还可等价表示为: SELECT Students.Sno, Sname,Cno,Grade FROM Students LEFT JOIN Enrollment ON Students.Sno=Enrollment.Sno -或者表示为: SELECT Students.Sno, Sname,Cno,Grade FROM Enrollment RIGHT JOIN Students ON Enrollment.Sno=Students.Sno 3、写出习题3第75页的17)18)19)小题的SQL语句 17)求借阅了图书的读者的总人数 SELECT COUNT(DISTINCT 读者号) AS’借阅过图书的读者总人数’ FROM 借阅 18)求机械工业出版社图书的平均价格、最高价、最低价。 SELECT AVG(单价) AS’平均价’,MAX(单价) AS’最高价’, MIN(单价) AS’最低价’ FROM 图书 WHERE 出版社=‘机械工业出版社’ 19) 查询借阅图书本数超过2本的读者号、总本数。并按借阅本数值从大到小排序。 SELECT 读者号,COUNT(图书号) AS '总本数' FROM 借阅 GROUP BY 读者号 HAVING COUNT(*) > 2 ORDER BY COUNT(图书号) DESC 本文来源:https://www.wddqw.com/doc/f6f0d7a2a3116c175f0e7cd184254b35eefd1a08.html