实验报告2 关系数据库标准语言SQL.docx
- 文档编号:30390658
- 上传时间:2023-08-14
- 格式:DOCX
- 页数:14
- 大小:180.58KB
实验报告2 关系数据库标准语言SQL.docx
《实验报告2 关系数据库标准语言SQL.docx》由会员分享,可在线阅读,更多相关《实验报告2 关系数据库标准语言SQL.docx(14页珍藏版)》请在冰豆网上搜索。
实验报告2关系数据库标准语言SQL
实验2:
关系数据库标准语言SQL
一.实验目的
通过本实验使学生掌握SQL语言的数据定义功能、数据查询功能和数据操纵功能。
二.实验类型验证型
三.实验学时4学时
四.实验原理及知识点
1.SQL语言的数据查询功能
2.SQL语言的数据定义功能
3.SQL语言的数据操纵功能
五.实验环境
1.硬件设备要求:
PC及其联网环境;
2.软件设备要求:
Windows操作系统;MSSQLServer数据库管理系统。
六.实验内容及步骤
在STUDENT数据库中,根据要求使用SQL语言完成下列操作,将SQL语句以.sql文件的形式保存在自己的目录下。
1.查询选修了课程的学生的学号。
2.查询学生学号和出生年份。
3.查询计算机系学生的学号、姓名。
4.查询年龄在20岁与22岁之间(包括20和22岁)的学生姓名和年龄。
5.查询学生姓名中含有“波”字的学生情况。
6.查询缺少学习成绩的学生学号和课程号。
7.查询选修C601课程的学生的学号和成绩,并按分数的降序排列。
8.求选修了课程的学生人数。
9.求课程C601的平均成绩。
10.求选修课程超过2门的学生学号。
11.查询参加学习的学生所学的课程号和总分。
12.查询选修高等数学课程且成绩在80分以上的学生的学号、姓名。
13.查询每一课程的间接先行课(即先行课的先行课)。
14.查询年龄低于所有工程系学生的学生姓名、所在系、年龄。
15.找出刘建平老师所开全部课程的课程号、课程名。
16.找出全部课程的任课教师。
17.求学生1203所学课程的总分。
18.找出所有姓张的学生的姓名和籍贯。
19.找出至少一门课程的成绩在90分以上的女学生的姓名。
20.求每一年龄上人数超过2的男生的具体人数,并按年龄从小到大排序。
21.把学生的学号及他的平均成绩定义为一个视图GRADE_VIEW。
22.创建一个从student、course、study表中查出计算机系的学生及其成绩的视图computer_view,要求显示学生的学号sno、姓名name、课程号cno、课程名称cname、成绩grade。
23.在Student表中依据学生姓名创建索引name_index。
24.在Study表中依据sno和cno创建索引main_index。
25.将课程C603的任课老师改为“赵明”。
26.在Student表中插入两个学生记录:
'1201','吴华','女',20,'成都','计算机系'
'1102','张军','男',21,'上海','工程系'
27.删除年龄在21岁以上的学生记录。
--1
SELECTDISTINCT
Sno'学号'
FROMStudent_course;
--2
SELECT
Sno'学号',
2015-Sage'出生年份'
FROMStudent;
--3
SELECT
Sno'学号',
Sname'姓名'
FROMStudent
WHERESdept='CS';
--4
SELECT
Sname'姓名',
Sage'年龄'
FROMStudent
WHERESage>=20andSage<=22;
--5
SELECT*
FROMStudent
WHERESnameLIKE'%波%';
--6
SELECT
Sno'学号',
Cno'课程号'
FROMStudent_course
WHEREGradeisNULL;
--7
SELECT
Sno'学号',
Grade'成绩'
FROMStudent_course
WHERECno='C601'
ORDERBYGradeDESC;
--8
SELECT
COUNT(DISTINCTSno)
FROMStudent_course;
--9
SELECT
AVG(Grade)
FROMStudent_course
WHERECno='C601';
--10
SELECT
Sno'学号'
FROMStudent_course
GROUPBYSno
HAVINGCOUNT(Cno)>2;
--11
SELECT
Cno'课程号',
SUM(Grade)'总分'
FROMStudent_course
GROUPBYCno;
--12
SELECT
Student.Sno,
Student.Sname
FROMStudent,Student_course,Course
WHEREStudent.Sno=Student_course.Sno
andCourse.Cno=Student_course.Cno
andCourse.Cname='高等数学'andStudent_course.Grade>80;
--13
SELECT
FIRST.Cno,
SECOND.Cpno
FROMCourseFIRST,CourseSECOND
WHEREFIRST.Cpno=SECOND.Cno;
--14
SELECT
Sname,
Sdept,
Sage
FROMStudent
WHERESage --15 SELECT Cno'课程号', Cname'课程名' FROMCourse WHERECteacher='刘剑平'; --16 SELECTDISTINCT Cteacher'教师' FROMCourse WHERECteacherisnotNULL; --17 SELECT SUM(Grade)'总成绩' FROMStudent_course GROUPBYSno HAVINGSno='201215122'; --18 SELECT Sname'姓名', Snative'籍贯' FROMStudent WHERESnamelike'张%'; --19 SELECT Sname'姓名' FROMStudent WHERESsex='女'andSnoin( SELECTSno FROMStudent_course WHERE90<=Grade); --20 SELECT Sage'年龄', COUNT(*)'男生人数' FROMStudent WHERESsex='男'andSagein (SELECT Sage FROMStudent GROUPBYSage HAVINGCOUNT(*)>=2) GROUPBYSage ORDERBYSage; --21 CREATEVIEWGRADE_VIEW AS SELECT Sno, AVG(Grade)Savg FROMStudent_course GROUPBYSno; --22 CREATEVIEWCOMPUTER_VIEW AS SELECT Student.Sno, Student.Sname, Course.Cno, Course.Cname, Student_course.Grade FROMStudent,Student_course,Course WHEREStudent.Sno=Student_course.Sno andStudent_course.Cno=Course.Cno; --23 CREATEINDEXNAME_INDEXONStudent(Sname); --24 CREATEINDEXMAIN_INDEXONStudent_course(Sno,Cno); --25 UPDATECourse SETCteacher='赵明' WHERECno='C603'; --26 INSERT INTOStudent VALUES ('1201','吴华','女',20,'成都','CS'), ('1102','张军','男',21,'上海','EG'); --27 DELETE FROMStudent WHERESage>21; 七.实验总结 通过这次实验学会了使用SQL查询语句、使用SQL语句插入元组,使用SQL语句删除元组,使用SQL语句创建索引和删除索引,但任然不是很熟练,有很多地方需要查阅书籍才能完成,还是需要多加练习。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验报告2 关系数据库标准语言SQL 实验 报告 关系 数据库 标准 语言 SQL