access和SQL数据库练习及答案Word文档下载推荐.docx
- 文档编号:20749650
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:11
- 大小:462.47KB
access和SQL数据库练习及答案Word文档下载推荐.docx
《access和SQL数据库练习及答案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《access和SQL数据库练习及答案Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。
性别
2
“男”或“女”
所在系
20
表2课程表结构
课程号
课程名
先行课
表3选课表结构
主键,外键
成绩
0~100
表4学生表数据
序号
1
S1
李明
男
21
计算机
S2
张小红
3
S3
李和明
女
22
4
S4
张三
S5
刘宏
23
6
S6
王红应
7
S7
吴非
19
数学
S8
丁玉
9
S9
赵名
10
S12
张共可
物理
表5课程表数据
C1
计算机引论
C2
数据结构
C3
C语言编程
C4
软件工程
C6
数据库
C5
计算机文化
C7
高等数学
C8
概率统计
C9
线性代数
C10
力学
表6选课表数据
60
93
89
79
80
90
92
81
11
85
12
75
一、根据给定的样本数据,按顺序完成下列操作:
1、数据定义和输入记录
(1)创建学生-课程数据库。
(2)创建学生表、课程表和选课表,并满足约束条件。
(3)输入样本记录。
(4)查询输入的样本记录,并保存结果。
(5)创建计算机系学生成绩视图。
属性包括:
学号、姓名、课程名和成绩。
(6)查询已创建的视图,并保存结果。
(7)创建学生表、课程表和选课表的数据库关系图表。
2、数据更新
(1)输入一条新学生记录,例如:
(‘S11’,’李阳’,’男’,21,’计算机’)
(2)删除一条学生记录,例如:
删除学号=‘S5’的记录。
(3)修改一条学生记录,例如:
将学号=‘S5’的记录的系修改为计算机(RSL改了吴非)。
(4)查询当前的学生记录,并保存结果。
(5)求每个系的学生的平均年龄,并将结果存入到系平均年龄数据库中。
标准:
select所在系,avg(年龄)AS平均年龄into平均年龄数据库from学生
groupby所在系;
SELECT学生.所在系,Avg(学生.年龄)AS平均年龄
FROM学生
GROUPBY学生.所在系;
3、单表查询
(1)求计算机系的学生学号和姓名。
(2)求选修了课程的学生学号。
selectdistinct学号from选课;
1.distinct去除重复的数据
(3)求选修C1课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列。
SELECT选课.学号,选课.成绩,选课.课程号
FROM选课
WHERE课程号="
C1"
ORDERBY成绩DESC,学号;
(4)求数学系或计算机系姓张的学生的信息。
错:
只求计算机
SELECT学生.所在系,学生.姓名,学生.年龄,学生.性别,学生.学号
WHERE(((学生.所在系)="
计算机"
)AND((学生.姓名)Like"
张*"
));
=============================================
结果:
WHERE((学生.姓名)Like"
)AND所在系IN("
"
数学"
);
(5)求缺少了成绩的学生的学号和课程号。
SELECT选课.学号,选课.课程号
WHERE(((选课.成绩)IsNull));
4、连接查询
(1)求学生的学号、姓名、选修的课程名及成绩。
SELECT学生.学号,学生.姓名,课程.课程名,选课.成绩
FROM课程INNERJOIN(学生INNERJOIN选课ON学生.学号=选课.学号)ON课程.课程号=选课.课程号;
(2)求选修C1课程且成绩为90分以上的学生学号、姓名及成绩。
SELECT学生.学号,学生.姓名,选课.成绩
FROM学生INNERJOIN选课ON学生.学号=选课.学号
WHERE(((选课.成绩)>
=90)AND((选课.课程号)="
(3)查询每一门课的间接先行课(即先行课的先行课)。
selecta.课程号,b.先行课fromcurra,currb
wherea.先行课=b.课程号;
(4)求学生表与选课表的左外连接。
select*from学生leftjoin选课
on学生.学号=选课.学号;
(5)求选课表与课程表的右外连接。
5、嵌套查询
(1)求选修了高等数学的学生学号和姓名。
select学号,姓名fromstuwhere学号in(
select学号from选课where课程号=(
select课程号fromcurrwhere课程名='
高等数学'
以下属于连接查询
SELECT课程.课程名,学生.学号,学生.姓名
FROM课程INNERJOIN(学生INNERJOIN选课ON学生.学号=选课.学号)ON课程.课程号=选课.课程号
WHERE(((课程.课程名)="
高等数学"
(2)求C1课程的成绩高于张三的学生学号和成绩。
SELECT学号,成绩
AND成绩>
(SELECT成绩FROM选课WHERE学号=(SELECT学号FROM学生WHERE姓名="
张三"
)AND课程号="
(3)求其他系中比计算机系学生年龄都小的学生。
select*fromstuwhere年龄<
(
selectmin(年龄)from学生where
所在系='
计算机'
(4)求没有选修C2课程的学生姓名。
select姓名fromstuwhere学号notin(
select学号fromselect_currwhere
课程号='
C2'
(5)求至少选修了两门课程的学生信息。
SELECT*
WHERE学号IN(SELECT学号FROM选课GROUPBY学号HAVINGCOUNT(学号)>
=2);
6、组合查询
(1)求学生的总人数。
SELECTCount(学生.学号)AS学号之计数
FROM学生;
(2)求选修了课程的学生人数。
selectcount(学号)as人数
FROM
(Selectdistinct学号FROM选课);
(3)求计算机系学生的平均年龄定价,用GROUPBY表示。
SELECTAVG(年龄)AS平均年龄
WHERE所在系="
;
(4)求各课程号和选修该课程的人数。
SELECT课程号,COUNT(学号)AS人数
GROUPBY课程号;
(5)求选修课超过3门课的学生学号。
select学号fromselect_currgroupby
学号havingcount(课程号)>
3;
二、关于程序验收
1、通过可视化工具,验收已创建的数据库、数据表、视图关系表和数据库关系表。
2、通过已保存的SQL程序代码,验收查询结果。
3、上机操作工作量:
除了操作1的数据定义和样本数据输入必做外,其余操作2至操作6,考试时每种操作出1-2道小题,共约8-10题。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- access SQL 数据库 练习 答案