实验二 数据查询(6学时) 一、实验目的与要求
1、认识查询分析器的工作环境;
2、掌握SELECT的基本使用格式,能使用SQL Server对表的查询。 3、理解各种查询要求的实现。 4、掌握常用聚集函数的使用。 二、实验内容
(一)完成以下查询
1、查询学生的姓名、性别、年龄。 2、查询每门课程学生成绩的最高分。 3、统计每个学生选修的课程门数。 4、查询姓李的学生信息。
5、查询成绩及格学生的姓名、学号以及课程名及分数。 6、查询年龄大于等于19岁学生的成绩。
7、查询选修了三门课学生的姓名、学号、年龄。 8、查询信息系学生的信息并按年龄降序排序。 9、查询每一门课的间接先修课。
10、查询学生的学号、姓名、选修的课程号及成绩,按左外连接。 11、查询选修学生数超过10人的课程号、课程名及选修学生数。
/*1、查询学生的姓名、性别、年龄。*/ SELECT Sname,Ssex,Sage FROM Student;
/*2、查询每门课程学生成绩的最高分。*/ SELECT DISTINCT Cno, MAX(Grade) FROM SC GROUP BY Cno;
/*3、统计每个学生选修的课程门数。*/ SELECT Sno ,COUNT(Cno) FROM SC GROUP BY Sno;
/*4、查询姓李的学生信息。*/ SELECT * FROM Student
WHERE Sname LIKE '李%';
/*5、查询成绩及格学生的姓名、学号以及课程名及分数。*/
SELECT Student.Sno,Sname,Cname,Grade FROM Student,SC,Course
WHERE SC.Grade>=60 AND Student.Sno=SC.Sno AND Course.Cno=SC.Cno;
/*6、查询年龄大于等于岁学生的成绩。*/ SELECT Sname,Grade FROM Student,SC
WHERE Sage>=19 AND Student.Sno=SC.Sno;
/*7、查询选修了三门课学生的姓名、学号、年龄。*/ SELECT Sname,Student.Sno,Sage FROM Student
WHERE Student.Sno=( SELECT SC.Sno FROM SC
GROUP BY SC。Sno )
/*8、查询信息系学生的信息并按年龄降序排序。*/ SELECT * FROM Student WHERE Sdept = 'IS' ORDER BY Sage DESC;
/*9、查询每一门课的间接先修课。*/ SELECT FIRST.Cno,SECOND.Cpno FROM Course FIRST,Course SECOND WHERE FIRST.Cpno=SECOND.Cno;
/*10、查询学生的学号、姓名、选修的课程号及成绩,按左外连接。*/ SELECT Student.Sno,Sname,Cno,Grade FROM Student,SC
WHERE Student.Sno=SC.Sno ;
/*11、查询选修学生数超过人的课程号、课程名及选修学生数。*/