1、SQL(二) SQL语言进行简单查询实验报告实验目的:1.掌握SQL查询语句的一般格式2.掌握简单数据查询操作。3.熟练掌握各种查询条件的表示。4.掌握排序和分组操作在SQL语句中的实现。5.掌握集函数的使用。 实验内容;1.创建学生表student、课程表course和选课表SC,并输入数据(注意数据的完整性。);(可以使用实验一中已经建立的表和数据)2.对各表中的数据进行不同条件的查询;)查询全体学生的学号和姓名)查询全体学生的详细记录)查询所有选修过课程的学生学号)查询考试有不及格的学生学号)查询不是信息系(IS)、计算机系(CS)的学生性别、年龄、系别)查询选修了4号课的学生学号和成绩
2、,结果按成绩降序排列)查询每个课程号和相应的选课人数)查询计算机系(CS)的学生姓名、年龄、系别)查询年龄1820岁的学生学号、姓名、系别、年龄;)查询姓刘的学生情况)查询既选修1号课程,又选修2号课程的学生学号)查询学生的姓名和出生年份(今年2003年)查询没有成绩的学生学号和课程号)查询总成绩大于200分的学生学号)查询每门课程不及格学生人数)查询不及格课程超过3门的学生学号)查询年龄在10到19岁之间的学生信息)查询全体学生情况,按所在系升序排列,同一个系的学生按年龄降序排列)查询选了1号课程的学生平均成绩)查询选了3号课程的学生的最高分)查询每个同学的总成绩 实验步骤与过程:1.创建学
3、生表student、课程表course和选课表SC,使用实验一中已经建立的表和数据。2.并输入数据,设置主键。3.建立索引及三表之间关系。4.按照SQL语句格式及题目要求输入语句进行以下查询: 1、查询全体学生的学号和姓名;2、查询全体学生的详细记录;3、查询所有选修过课程的学生学号;4、查询考试有不及格的学生学号;5、查询不是信息系(IS)、计算机系(CS)的学生性别、年龄、系别;6、查询选修了4号课的学生学号和成绩,结果按成绩降序排列;7、查询每个课程号和相应的选课人数;8、查询计算机系(CS)的学生姓名、年龄、系别;9、查询年龄18-20岁的学生学号、姓名、系别、年龄;10、查询姓刘的学
4、生情况;11、查询既选修1号课程,又选修2号课程的学生学号;12、查询学生的姓名和出生年份(今年2003年);13、查询没有成绩的学生学号和课程号;14、查询总成绩大于200分的学生学号;15、查询每门课程不及格学生人数;16、查询不及格课程超过3门的学生学号;17、查询年龄在10到19岁之间的学生信息;18、查询全体学生情况,按所在系升序排列,同一个系的学生按年龄降序排列;19、查询选了1号课程的学生平均成绩;20、查询选了3号课程的学生的最高分;21、查询每个同学的总成绩实验结果:利用实验一中所建立的表设置主键,建立索引及三表之间关系。编写SQL查询语句。实现了题目了所给的21种简单的查询
5、。实现的查询内容为:1、查询全体学生的学号和姓名;2、查询全体学生的详细记录;3、查询所有选修过课程的学生学号;4、查询考试有不及格的学生学号;5、查询不是信息系(IS)、计算机系(CS)的学生性别、年龄、系别;6、查询选修了4号课的学生学号和成绩,结果按成绩降序排列;7、查询每个课程号和相应的选课人数;8、查询计算机系(CS)的学生姓名、年龄、系别;9、查询年龄18-20岁的学生学号、姓名、系别、年龄;10、查询姓刘的学生情况;11、查询既选修1号课程,又选修2号课程的学生学号;12、查询学生的姓名和出生年份(今年2003年);13、查询没有成绩的学生学号和课程号;14、查询总成绩大于200
6、分的学生学号;15、查询每门课程不及格学生人数;16、查询不及格课程超过3门的学生学号;17、查询年龄在10到19岁之间的学生信息;18、查询全体学生情况,按所在系升序排列,同一个系的学生按年龄降序排列;19、查询选了1号课程的学生平均成绩;20、查询选了3号课程的学生的最高分;21、查询每个同学的总成绩主要SQL语句:1.SELECT sno, snameFROM Student;2.SELECT *FROM student;3.SELECT snoFROM sc;4.SELECT snoFROM scWHERE grade 200;15.SELECT cno, count(sno)FROM
7、 scWHERE grade 60GROUP BY cno;16.SELECT cno, count (sno)FROM scWHERE grade 3;17.SELECT *FROM studentWHERE sage like 1#;18.SELECT *FROM studentORDER BY sdept, sage DESC;19.SELECT AVG(grade)FROM scWHERE cno =001;20.SELECT max(grade)FROM scWHERE cno =003;21.SELECT sno, sum(grade)FROM scGROUP BY sno;疑难与小结:通过本次试验掌握了:1.如何设置主键,并建立索引及表之间关系;2.SQL查询语句的一般格式;3.简单数据查询操作;4.熟练了掌握各种查询条件的表示;5.排序和分组操作在SQL语句中的实现;6.基本掌握了集函数的使用;在集函数的使用方面和个别较复杂的查询语句不够熟练,需要多加练习。