实验三 SQL(二) SQL语言进行简单查询实验报告

更新时间:2023-11-22 02:19:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

SQL(二) SQL语言进行简单查询实验报告

实验目的:

1. 掌握SQL查询语句的一般格式 2. 掌握简单数据查询操作。 3. 熟练掌握各种查询条件的表示。

4. 掌握排序和分组操作在SQL语句中的实现。 5. 掌握集函数的使用。

实验内容;

1. 创建学生表student、课程表course和选课表SC,并输入数据(注意数据的完整性。);(可以使用实验一中已经建立的表和数据) 2. 对各表中的数据进行不同条件的查询; 1) 查询全体学生的学号和姓名 2) 3) 4) 5) 6) 7) 8) 9)

查询全体学生的详细记录

查询所有选修过课程的学生学号

查询考试有不及格的学生学号 查询不是信息系(IS)、计算机系(CS)的学生性别、年龄、系别 查询选修了4号课的学生学号和成绩,结果按成绩降序排列 查询每个课程号和相应的选课人数

查询计算机系(CS)的学生姓名、年龄、系别

查询年龄18-20岁的学生学号、姓名、系别、年龄;

10) 查询姓刘的学生情况

11) 查询既选修1号课程,又选修2号课程的学生学号 12) 查询学生的姓名和出生年份(今年2003年) 13) 查询没有成绩的学生学号和课程号 14) 查询总成绩大于200分的学生学号 15) 查询每门课程不及格学生人数

16) 查询不及格课程超过3门的学生学号

17) 查询年龄在10到19岁之间的学生信息

18) 查询全体学生情况,按所在系升序排列,同一个系的学生按年龄降序排列 19) 查询选了1号课程的学生平均成绩 20) 查询选了3号课程的学生的最高分 21) 查询每个同学的总成绩

实验步骤与过程:

1.创建学生表student、课程表course和选课表SC,使用实验一中已经建立的表和数据。 2.并输入数据,设置主键。

3.建立索引及三表之间关系。

4.按照SQL语句格式及题目要求输入语句进行以下查询:

1、查询全体学生的学号和姓名;2、查询全体学生的详细记录;3、查询所有选修过课程的学生学号;4、查询考试有不及格的学生学号;5、查询不是信息系(IS)、计算机系(CS)的学生性别、年龄、系别;6、查询选修了4号课的学生学号和成绩,结果按成绩降序排列;7、查询每个课程号和相应的选课人数;8、查询计算机系(CS)的学生姓名、年龄、系别;9、查询年龄18-20岁的学生学号、姓名、系别、年龄;10、查询姓刘的学生情况;11、查询既选修1号课程,又选修2号课程的学生学号;12、查询学生的姓名和出生年份(今年2003年);13、查询没有成绩的学生学号和课程号;14、查询总成绩大于200分的学生学号;15、查询每门课程不及格学生人数;16、查询不及格课程超过3门的学生学号;17、查询年龄在10到19岁之间的学生信息;18、查询全体学生情况,按所在系升序排列,同一个系的学生按年龄降序排列;19、查询选了1号课程的学生平均成绩;20、查询选了3号课程的学生的最高分;21、查询每个同学的总成绩

实验结果:

利用实验一中所建立的表设置主键,建立索引及三表之间关系。编写SQL查询语句。实现了题目了所给的21种简单的查询。实现的查询内容为:1、查询全体学生的学号和姓名;2、查询全体学生的详细记录;3、查询所有选修过课程的学生学号;4、查询考试有不及格的学生学号;5、查询不是信息系(IS)、计算机系(CS)的学生性别、年龄、系别;6、查询选修了4号课的学生学号和成绩,结果按成绩降序排列;7、查询每个课程号和相应的选课人数;8、查询计算机系(CS)的学生姓名、年龄、系别;9、查询年龄18-20岁的学生学号、姓名、系别、年龄;10、查询姓刘的学生情况;11、查询既选修1号课程,又选修2号课程的学生学号;12、查询学生的姓名和出生年份(今年2003年);13、查询没有成绩的学生学号和课程号;14、查询总成绩大于200分的学生学号;15、查询每门课程不及格学生人数;16、查询不及格课程超过3门的学生学号;17、查询年龄在10到19岁之间的学生信息;18、查询全体学生情况,按所在系升序排列,同一个系的学生按年龄降序排列;19、查询选了1号课程的学生平均成绩;20、查询选了3号课程的学生的最高分;21、查询每个同学的总成绩

主要SQL语句: 1.

SELECT sno, sname FROM Student; 2.

SELECT * FROM student; 3. SELECT sno FROM sc; 4.

SELECT sno

FROM sc

WHERE grade < 60; 5.

SELECT ssex, sage, sdept FROM student

WHERE sdept not in ('is','cs'); 6.

SELECT sno, grade FROM sc WHERE cno ='004' ORDER BY grade DESC; 7.

SELECT cno, count(sno) FROM sc

GROUP BY cno;

8.

SELECT sname, sage, sdept FROM student WHERE sdept ='cs'; 9.

SELECT sno, sname, sdept, sage FROM student

WHERE sage between 18 and 20; 10.

SELECT *

FROM student

WHERE sname like '刘*'; 11.

SELECT sno

FROM sc

WHERE sno in (select sno from sc where cno='001') and cno='002'; 12.

SELECT sname, 2008 - sage FROM student; 13.

SELECT sno, cno FROM sc

WHERE grade is null; 14.

SELECT sno

FROM sc

GROUP BY sno

HAVING sum(grade) > 200;

15.

SELECT cno, count(sno) FROM sc

WHERE grade < 60 GROUP BY cno; 16.

SELECT cno, count (sno) FROM sc

WHERE grade < 60 GROUP BY cno HAVING count (cno) > 3; 17.

SELECT *

FROM student WHERE sage like '1#'; 18.

SELECT *

FROM student

ORDER BY sdept, sage DESC; 19.

SELECT AVG(grade) FROM sc

WHERE cno ='001'; 20.

SELECT max(grade) FROM sc

WHERE cno ='003'; 21.

SELECT sno, sum(grade) FROM sc GROUP BY sno;

疑难与小结:

通过本次试验掌握了:

1.如何设置主键,并建立索引及表之间关系; 2.SQL查询语句的一般格式; 3.简单数据查询操作;

4.熟练了掌握各种查询条件的表示; 5.排序和分组操作在SQL语句中的实现; 6.基本掌握了集函数的使用;

在集函数的使用方面和个别较复杂的查询语句不够熟练,需要多加练习。

本文来源:https://www.bwwdw.com/article/mvrv.html

Top