实验ACCESS的SQL视图使用.docx
《实验ACCESS的SQL视图使用.docx》由会员分享,可在线阅读,更多相关《实验ACCESS的SQL视图使用.docx(14页珍藏版)》请在冰豆网上搜索。
![实验ACCESS的SQL视图使用.docx](https://file1.bdocx.com/fileroot1/2023-4/21/ac4bfe2b-45ec-485d-b0f0-fb6cf6f04d30/ac4bfe2b-45ec-485d-b0f0-fb6cf6f04d301.gif)
实验ACCESS的SQL视图使用
实验ACCESS的SQL视图使用
一、实验目的
1.学会在SQL视图中创建数据库和表;
2.使用SQL视图实现各类查询。
二、实验内容和步骤
1.用SQL视图在ACCESS中创建学生信息数据库SCInform,该数据库包含3个表:
学生信息表Student、课程信息表Course、选课信息表SC,各表的结构如下:
(1)Student表结构
字段名称
数据类型
字段大小
说明
Sno
文本
10
学号
Sname
文本
20
姓名
Ssex
文本
1
性别
Scollege
文本
30
学院
Birthday
时间/日期
出生日期
(2)Course表结构
字段名称
数据类型
字段大小
说明
Cno
文本
3
课程号
Cname
文本
30
课程名
Ccredit
数字
单精度
学分
(3)SC表结构
字段名称
数据类型
字段大小
说明
Sno
文本
10
学号
Sno
文本
3
课程号
Grade
数字
单精度
成绩
实验步骤:
(1)创建数据库
①启动MicrosoftAccess,在文件菜单选新建项;
②在新建文件任务窗格选空数据库选项(如下图);
③将新建的数据库文件名命名为SCInform.mdb(如下图);
(2)创建表
①在数据库窗口对象选查询,单击工具栏新建按钮,在新建查询中选设计视图(见下图),在视图菜单中选SQL视图;
②在SQL视图输入创建Student表的命令:
CreateTableStudent
(SnoText(10),
SnameText(20),
SsexText
(1),
ScollegeText(30),
BirthdayDatetime);
单击工具栏的运行按钮执行SQL语句(如下图),并以查询名Q1保存该SQL查询;
③在SQL视图输入创建Course表的命令:
CreateTableCourse
(CnoText(3),
CnameText(30),
CcreditSingle);
运行该SQL语句并以查询名Q2保存该SQL查询;
④在SQL视图输入创建SC表的命令并运行:
CreateTableSC
(SnoText(10),
CnoText(3),
GradeSingle);
运行该SQL语句并以查询名Q3保存该SQL查询;
⑤在数据库窗口对象选表,检查3个表Stedent、Course和SC创建完成见下图。
2.在ACCESS中使用InsertInto语句为3个表:
学生信息表Student、课程信息表Course、选课信息表SC插入数据记录,各表的记录如下:
(1)表Student的记录
Sno
Sname
Ssex
Scollege
Birthday
4105000202
许加乐
女
计算机学院
1987-2-3
4105000203
李北星
男
计算机学院
1985-2-2
4105000205
李权
男
外国语学院
1985-10-2
4105000301
谭武龙
男
文法学院
1986-3-8
4105000304
吴小丽
女
文法学院
1985-2-8
4205000175
吴利
女
经管学院
1987-7-2
4205000176
黄贤明
男
经管学院
1986-1-3
4205000177
吴冬生
男
经管学院
1987-12-9
(2)表Course的记录
Cno
Cname
Ccredit
001
INTERNET技术
2.5
002
大学英语
3.5
003
网络营销学
2.0
004
数据库原理及应用
3.0
005
会计学
2.0
006
高等数学
5.0
(3)表SC的记录:
Sno
Cno
Grade
4105000202
002
40
4105000202
005
20
4105000203
001
90
4105000203
002
55
4105000301
003
50
4205000175
005
98
4205000176
004
50
4205000177
004
70
实验步骤:
(1)Student表中插入记录
①在SQL视图输入插入记录的命令并运行
InsertIntoStudent
Values("4105000202","许加乐","女","计算机学院",1987-2-3);
②类似地输入插入其它7条记录的命令并运行;
③打开Student表查看表的数据记录如下图
(2)分别使用InsertInto语句在Course表和SC表插入记录如下图。
3.查询“经管学院”学生的学号和姓名。
在SQL视图输入查询命令并运行
SelectSno,Sname
FromStudent
WhereScollege=’经管学院’;
查询结果如下图所示:
4.查询学生的学号和成绩,将所有成绩查询结果提高5%,结果分别以“学号”、“成绩”作为列标题。
在SQL视图输入查询命令并运行
SelectSnoAs学号,1.05*GradeAs成绩
FromSC;
查询结果如下图所示:
5.查询分数在60分至100分之间的学生的学号、课程号和分数
在SQL视图输入查询命令并运行
SelectSno,Cno,Grade
FromSC
WhereGradeBetween60And100;
查询结果如下图所示:
6.查询经管学院、计算机学院的学生的姓名和所在学院。
在SQL视图输入查询命令并运行
SelectSname,Scollege
FromStudent
WhereScollegeIn('经管学院','计算机学院')
查询结果如下图所示:
7.查询姓“吴”的学生所在的学院和他的姓名
在SQL视图输入查询命令并运行
SelectSname,Scollege
FromStudent
WhereSnameLike'吴*'
查询结果如下图所示:
8.查询各位学生的学生号及其选课的门数。
在SQL视图输入查询命令并运行
SelectSno,Count(*)As选课门数
FromSC
GroupBySno
查询结果如下图所示:
9.查询选修001、002、004或005课程的学号、课程号和分数,查询结果按学号升序排列,学号相同再按分数降序排列。
在SQL视图输入查询命令并运行
SelectSno,Cno,Grade
FromSC
WhereCnoIn('001','002','004','005')
OrderBySno,GradeDesc
查询结果如下图所示:
10.查询“李北星”所选的全部课程号及学号和姓名
在SQL视图输入查询命令并运行
SelectStudent.Sno,Sname,Cno
FromStudent,SC
Where(Student.Sno=SC.Sno)
And(Student.Sname='李北星');
查询结果如下图所示:
11.查询每个选课的学生的学号、姓名、课程号、课程名、分数。
在SQL视图输入查询命令并运行
SelectStudent.Sno,Sname,Course.Cno,Cname,Grade
FromStudent,Course,SC
WhereStudent.Sno=SC.SnoAndSC.Cno=Course.Cno
查询结果如下图所示:
12.查询学号“4105000203”的学生所选课程的课程号和相应的学分,要求用嵌套查询实现。
在SQL视图输入查询命令并运行
SelectCno,Ccredit
FromCourse
WhereCnoIn(SelectCno
FromSC
WhereSno='4105000203')
查询结果如下图所示:
13.查询比学号“4205000177”的学生所有课程分数高的学生的学号和分数。
在SQL视图输入查询命令并运行
SelectSno,Grade
FromSC
WhereSno<>'4205000177'
AndGrade>All(SelectGrade
FromSC
WhereSno='4205000177')
查询结果如下图所示:
14.合并查询1和查询2。
查询1:
查询“出生年月”大1986-01-03,“性别”为男性的学号;查询2:
查询“课程号”为004并且“分数”大于60的学生学号。
在SQL视图输入查询命令并运行
(SelectSno
FromStudent
WhereSsex='男'AndBirthday=#1986-01-03#)
Union
(SelectSno
FromSC
WhereGrade>60AndCno='004')
查询结果如下图所示:
15.求各个学生的平均分,并把结果存入一张表中。
(1)创建存放平均分的表结构
CreateTableAvggrade
(SnoText(10),
Avggradesingle);
(2)对数据库的SC表按学号分组求平均分,再把学号和平均分插入新表中。
InsertIntoAvggrade(Sno,Avggrade)
SelectSno,Avg(Grade)
FromSC
GroupBySno;
求得学生平均成绩的表如下图所示:
16.修改Course表中课程名为“会计学”的记录,将课程名改为“会计电算化”,学分改为2.5。
在SQL视图输入查询命令并运行
UpdateCourse
SetCname=’会计电算化’,Ccredit=2.5
WhereCname=’会计学’
三、实验时数
4学时
四、实验结果提交
本次实验完成后,学生需提交实验报告。