内容正文:
编写说明:2027版山东省春季高考统一考试软件与应用技术类《考纲百套卷》,依据《软件与应用技术类专业知识考试标准》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共85份试卷,其中知识训练卷48份、专题训练卷25份、课程综合卷12份。
本试卷是第22卷,为知识训练卷,按《Access数据库应用操作》中“高级查询与SQL查询”范围和要求编写。具体内容为:(5)掌握参数查询、计算查询和汇总查询。(6)掌握更新查询、追加查询、删除查询和生成表查询。(7)掌握SQL查询的应用。
山东省春季高考统一考试
软件与应用技术类《考纲百套卷》
第22卷 Access数据库应用操作——高级查询与SQL查询
(考试时间:45分钟 满分:100分)
一、选择题(共25题,每题2分,共50分)
1.Access参数查询的主要特点是( )
A.只能修改字段类型
B.只能删除表中记录
C.不能保存查询对象
D.运行查询时可以输入条件值
2.在Access SQL中声明参数,常使用的语句是( )
A.INPUT
B.PARAMETERS
C.ASK
D.PROMPT
3.下面参数声明中,表示班级编号为文本型的是( )
A.PARAMETERS [请输入班级] YesNo;
B.PARAMETERS [请输入班级] DateTime;
C.PARAMETERS [请输入班级] Text (5);
D.PARAMETERS [请输入班级] Integer;
4.计算查询中的Price * Quantity AS Amount,Amount表示( )
A.由表达式计算得到的字段别名
B.参数名称
C.删除条件
D.原表中的主键
5.汇总查询中,COUNT(*)通常用于统计( )
A.最大字段值
B.记录条数
C.字段名称长度
D.表的数量
6.汇总查询中,SUM(Amount)通常用于求( )
A.记录数量
B.平均值
C.最小值
D.数值字段的总和
7.汇总查询中,AVG(Score)通常用于求( )
A.成绩最小值
B.成绩最大值
C.成绩平均值
D.成绩总数
8.使用GROUP BY DeptID的主要作用是( )
A.按DeptID分组汇总
B.修改表名
C.建立窗体
D.删除DeptID字段
9.汇总查询中,筛选分组汇总结果通常使用( )子句
A.WHERE
B.VALUES
C.HAVING
D.FROM
10.下面属于更新查询的是( )
A.SELECT StudentNameFROM Students;
B.DROP TABLE Students;
C.CREATE INDEX IX_ID ON Students (StudentID);
D.UPDATE StudentsSET Score = Score + 5WHERE ClassID = 'C01';
11.追加查询通常使用的SQL语句是( )
A.DELETE ... GROUP BY ...
B.INSERT INTO ... SELECT ...
C.UPDATE ...ORDER BY ...
D.SELECT ... DROP ...
12.删除查询通常使用的SQL语句是( )
A.DELETE FROM
B.REMOVE FROM
C.CLEAR TABLE
D.DROP RECORD
13.生成表查询通常使用的SQL形式是( )
A.CREATE RECORD AS表 ...
B.MAKE FIELD FROM表 ...
C.SELECT字段 INTO新表 FROM源表 ...
D.BUILD TABLE BY字段 ...
14.运行UPDATE查询前设置WHERE条件的主要作用是( )
A.设置查询字体
B.限定需要修改的记录范围
C.建立参数对象
D.改变数据库文件名
15.如果DELETE FROM Students语句省略WHERE条件,通常会( )
A.自动恢复记录
B.只删除第一条记录
C.删除表结构和所有索引
D.删除所有记录但保留表结构
16.追加查询要求目标表中的字段通常与SELECT结果在( )方面对应
A.字段数量和数据类型
B.数据库密码
C.窗体颜色
D.页边距
17.在SQL中,WHERE和HAVING的主要区别是( )
A.WHERE只能排序,HAVING只能建表
B.二者完全相同
C.WHERE筛选记录,HAVING筛选分组结果
D.二者都只能修改记录
18.下面查询中,先按ClassID分组再统计人数的是( )
A.SELECT ClassIDFROM Students GROUP ClassID;
B.SELECT ClassID, COUNT(*) AS NumFROM StudentsGROUP BY ClassID;
C.SELECT COUNT(ClassID)FROM StudentsWHERE ClassID;
D.SELECT ClassID, COUNT(*) AS NumFROM StudentsORDER BY ClassID;
19.如果要统计成绩不低于80分的各班人数,条件通常应写在( )子句中
A.VALUES
B.SET
C.INTO
D.WHERE
20.如果要查询平均成绩不低于80分的班级,条件通常应写在( )子句中
A.HAVING
B.SET
C.VALUES
D.WHERE
21.参数查询中的方括号文字,如[请输入最低成绩],主要用于( )
A.表示表名
B.提示用户输入参数
C.表示索引名
D.表示日期常量
22.下面语句的作用是( )
SELECT StudentName, Score + 10 AS NewScore FROM Students;
A.建立新表
B.删除成绩字段
C.把所有成绩永久加10
D.查询学生姓名及计算后的成绩
23.下面语句的作用是( )
SELECT * INTO ExcellentStudents FROM Students WHERE Score >= 90;
A.删除Students中的优秀学生
B.只建立一个索引
C.把符合条件的记录生成到新表ExcellentStudents
D.修改Students表名
24.下面语句的作用是( )
INSERT INTO HonorStudents (StudentID, StudentName) SELECT StudentID, StudentName FROM Students WHERE Score >= 90;
A.把符合条件的学生追加到HonorStudents表
B.修改所有学生成绩
C.生成一个参数查询
D.删除HonorStudents表
25.操作查询与选择查询相比,主要区别是操作查询( )
A.不需要保存
B.会对数据表中的记录或结构产生实际变化
C.不能设置任何条件
D.只能显示字段名称
二、简答题(共5题,每题6分,共30分)
1.阅读SQL语句,写出查询结果。
PARAMETERS [请输入部门编号] Text (5);
CREATE TABLE Employees (EmployeeID TEXT(10), EmployeeName TEXT(20), DeptID TEXT(5), Salary INTEGER);
INSERT INTO Employees
VALUES ('E01', '林晓', 'D01', 4800);
INSERT INTO Employees
VALUES ('E02', '陈宇', 'D02', 5600);
INSERT INTO Employees
VALUES ('E03', '吴涛', 'D02', 6200);
INSERT INTO Employees
VALUES ('E04', '赵安', 'D03', 5100);
SELECT EmployeeName, Salary
FROM Employees
WHERE DeptID = [请输入部门编号]
ORDER BY Salary DESC;
-- 输入参数:D02
2.阅读SQL语句,写出查询结果。
CREATE TABLE Orders (OrderID TEXT(10), ProductName TEXT(30), Price INTEGER, Quantity INTEGER);
INSERT INTO Orders
VALUES ('O01', '键盘', 45, 2);
INSERT INTO Orders
VALUES ('O02', '鼠标', 25, 3);
INSERT INTO Orders
VALUES ('O03', '耳机', 68, 1);
INSERT INTO Orders
VALUES ('O04', '摄像头', 120, 2);
SELECT OrderID, ProductName, Price * Quantity AS Amount
FROM Orders
WHERE Quantity >= 2
ORDER BY Amount DESC;
3.阅读SQL语句,写出查询结果。
CREATE TABLE Scores (StudentID TEXT(10), StudentName TEXT(20), ClassID TEXT(5), Score INTEGER);
INSERT INTO Scores
VALUES ('S01', '张晨', 'C01', 82);
INSERT INTO Scores
VALUES ('S02', '李雪', 'C01', 94);
INSERT INTO Scores
VALUES ('S03', '王浩', 'C02', 76);
INSERT INTO Scores
VALUES ('S04', '赵安', 'C02', 88);
INSERT INTO Scores
VALUES ('S05', '陈宇', 'C03', 91);
SELECT ClassID, COUNT(*) AS StudentCount, AVG(Score) AS AverageScore
FROM Scores
GROUP BY ClassID
HAVING AVG(Score) >= 85
ORDER BY AverageScore DESC;
4.阅读SQL语句,写出执行后ArchiveStudents表中的记录。
CREATE TABLE Students (StudentID TEXT(10), StudentName TEXT(20), Score INTEGER);
CREATE TABLE ArchiveStudents (StudentID TEXT(10), StudentName TEXT(20), Score INTEGER);
INSERT INTO Students
VALUES ('S01', '张晨', 95);
INSERT INTO Students
VALUES ('S02', '李雪', 82);
INSERT INTO Students
VALUES ('S03', '王浩', 91);
INSERT INTO Students
VALUES ('S04', '赵安', 76);
INSERT INTO ArchiveStudents
VALUES ('S00', '刘老师', 100);
INSERT INTO ArchiveStudents (StudentID, StudentName, Score) SELECT StudentID, StudentName, Score
FROM Students
WHERE Score >= 90;
SELECT StudentID, StudentName, Score
FROM ArchiveStudents
ORDER BY StudentID ASC;
5.阅读SQL语句,写出生成表TopBooks后的查询结果。
CREATE TABLE Books (BookID TEXT(10), BookName TEXT(30), Category TEXT(20), Price INTEGER);
INSERT INTO Books
VALUES ('B01', '数据库基础', '专业', 68);
INSERT INTO Books
VALUES ('B02', '程序设计', '专业', 55);
INSERT INTO Books
VALUES ('B03', '办公软件', '公共', 42);
INSERT INTO Books
VALUES ('B04', '网页制作', '专业', 76);
SELECT BookID, BookName, Price INTO TopBooks
FROM Books
WHERE Category = '专业' AND Price >= 60;
SELECT BookID, BookName, Price
FROM TopBooks
ORDER BY Price DESC;
三、案例分析题(共1题,共10分)
1.下面Access SQL用于生成成绩不低于90分的ExcellentStudents表,但生成表查询中有一处条件错误,请指出并改正。
CREATE TABLE Students (StudentID TEXT(10) PRIMARY KEY, StudentName TEXT(20), ClassID TEXT(5), Score INTEGER);
INSERT INTO Students
VALUES ('S01', '张晨', 'C01', 90);
INSERT INTO Students
VALUES ('S02', '李雪', 'C02', 86);
INSERT INTO Students
VALUES ('S03', '王浩', 'C02', 95);
INSERT INTO Students
VALUES ('S04', '赵安', 'C03', 78);
SELECT StudentID, StudentName, Score INTO ExcellentStudents
FROM Students
WHERE Score > 90;
四、综合应用题(共1题,共10分)
1.编写Access SQL任务:建立Students和HonorStudents两张表并添加学生记录;将C01班成绩提高5分;把成绩不低于90分的学生追加到HonorStudents;最后按班级统计学生人数和平均成绩,按平均成绩降序排列。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:2027版山东省春季高考统一考试软件与应用技术类《考纲百套卷》,依据《软件与应用技术类专业知识考试标准》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共85份试卷,其中知识训练卷48份、专题训练卷25份、课程综合卷12份。
本试卷是第22卷,为知识训练卷,按《Access数据库应用操作》中“高级查询与SQL查询”范围和要求编写。具体内容为:(5)掌握参数查询、计算查询和汇总查询。(6)掌握更新查询、追加查询、删除查询和生成表查询。(7)掌握SQL查询的应用。
山东省春季高考统一考试
软件与应用技术类《考纲百套卷》
第22卷 Access数据库应用操作——高级查询与SQL查询
(考试时间:45分钟 满分:100分)
一、选择题(共25题,每题2分,共50分)
1.Access参数查询的主要特点是( )
A.只能修改字段类型
B.只能删除表中记录
C.不能保存查询对象
D.运行查询时可以输入条件值
【答案】D
【解析】参数查询运行时会提示用户输入条件值,同一查询可以反复使用。
2.在Access SQL中声明参数,常使用的语句是( )
A.INPUT
B.PARAMETERS
C.ASK
D.PROMPT
【答案】B
【解析】PARAMETERS用于声明参数名称和参数数据类型。
3.下面参数声明中,表示班级编号为文本型的是( )
A.PARAMETERS [请输入班级] YesNo;
B.PARAMETERS [请输入班级] DateTime;
C.PARAMETERS [请输入班级] Text (5);
D.PARAMETERS [请输入班级] Integer;
【答案】C
【解析】班级编号属于文本信息,参数类型可以声明为Text (5)。
4.计算查询中的Price * Quantity AS Amount,Amount表示( )
A.由表达式计算得到的字段别名
B.参数名称
C.删除条件
D.原表中的主键
【答案】A
【解析】Price*Quantity是计算表达式,AS Amount为计算结果设置别名。
5.汇总查询中,COUNT(*)通常用于统计( )
A.最大字段值
B.记录条数
C.字段名称长度
D.表的数量
【答案】B
【解析】COUNT(*)统计分组或查询结果中的记录条数。
6.汇总查询中,SUM(Amount)通常用于求( )
A.记录数量
B.平均值
C.最小值
D.数值字段的总和
【答案】D
【解析】SUM函数用于计算数值字段的总和。
7.汇总查询中,AVG(Score)通常用于求( )
A.成绩最小值
B.成绩最大值
C.成绩平均值
D.成绩总数
【答案】C
【解析】AVG函数用于计算数值字段的平均值。
8.使用GROUP BY DeptID的主要作用是( )
A.按DeptID分组汇总
B.修改表名
C.建立窗体
D.删除DeptID字段
【答案】A
【解析】GROUP BY按照指定字段分组,便于对每组进行COUNT、SUM或AVG等汇总。
9.汇总查询中,筛选分组汇总结果通常使用( )子句
A.WHERE
B.VALUES
C.HAVING
D.FROM
【答案】C
【解析】HAVING用于对分组后的汇总结果设置条件。
10.下面属于更新查询的是( )
A.SELECT StudentNameFROM Students;
B.DROP TABLE Students;
C.CREATE INDEX IX_ID ON Students (StudentID);
D.UPDATE StudentsSET Score = Score + 5WHERE ClassID = 'C01';
【答案】D
【解析】UPDATE查询可以修改已有记录的字段值。
11.追加查询通常使用的SQL语句是( )
A.DELETE ... GROUP BY ...
B.INSERT INTO ... SELECT ...
C.UPDATE ...ORDER BY ...
D.SELECT ... DROP ...
【答案】B
【解析】INSERT INTO ... SELECT ...可以把查询结果追加到目标表。
12.删除查询通常使用的SQL语句是( )
A.DELETE FROM
B.REMOVE FROM
C.CLEAR TABLE
D.DROP RECORD
【答案】A
【解析】DELETE FROM配合WHERE可以删除满足条件的记录。
13.生成表查询通常使用的SQL形式是( )
A.CREATE RECORD AS表 ...
B.MAKE FIELD FROM表 ...
C.SELECT字段 INTO新表 FROM源表 ...
D.BUILD TABLE BY字段 ...
【答案】C
【解析】SELECT ... INTO ... FROM ...可以根据查询结果生成新表。
14.运行UPDATE查询前设置WHERE条件的主要作用是( )
A.设置查询字体
B.限定需要修改的记录范围
C.建立参数对象
D.改变数据库文件名
【答案】B
【解析】WHERE可以防止UPDATE无条件修改整张表。
15.如果DELETE FROM Students语句省略WHERE条件,通常会( )
A.自动恢复记录
B.只删除第一条记录
C.删除表结构和所有索引
D.删除所有记录但保留表结构
【答案】D
【解析】DELETE FROM不带WHERE时会删除表中的全部记录,但表结构仍然存在。
16.追加查询要求目标表中的字段通常与SELECT结果在( )方面对应
A.字段数量和数据类型
B.数据库密码
C.窗体颜色
D.页边距
【答案】A
【解析】追加数据时目标字段数量、顺序和数据类型应与查询结果相匹配。
17.在SQL中,WHERE和HAVING的主要区别是( )
A.WHERE只能排序,HAVING只能建表
B.二者完全相同
C.WHERE筛选记录,HAVING筛选分组结果
D.二者都只能修改记录
【答案】C
【解析】WHERE通常在分组前筛选记录,HAVING用于分组后筛选汇总结果。
18.下面查询中,先按ClassID分组再统计人数的是( )
A.SELECT ClassIDFROM Students GROUP ClassID;
B.SELECT ClassID, COUNT(*) AS NumFROM StudentsGROUP BY ClassID;
C.SELECT COUNT(ClassID)FROM StudentsWHERE ClassID;
D.SELECT ClassID, COUNT(*) AS NumFROM StudentsORDER BY ClassID;
【答案】B
【解析】SELECT中使用COUNT(*)并通过GROUP BY ClassID按班级统计记录数量。
19.如果要统计成绩不低于80分的各班人数,条件通常应写在( )子句中
A.VALUES
B.SET
C.INTO
D.WHERE
【答案】D
【解析】先筛选成绩不低于80分的记录,再按班级分组统计,因此使用WHERE。
20.如果要查询平均成绩不低于80分的班级,条件通常应写在( )子句中
A.HAVING
B.SET
C.VALUES
D.WHERE
【答案】A
【解析】平均成绩是分组汇总结果,应使用HAVING AVG(Score) >= 80。
21.参数查询中的方括号文字,如[请输入最低成绩],主要用于( )
A.表示表名
B.提示用户输入参数
C.表示索引名
D.表示日期常量
【答案】B
【解析】方括号中的文字会作为参数提示内容。
22.下面语句的作用是( )
SELECT StudentName, Score + 10 AS NewScore FROM Students;
A.建立新表
B.删除成绩字段
C.把所有成绩永久加10
D.查询学生姓名及计算后的成绩
【答案】D
【解析】SELECT计算查询只产生查询结果,不会直接修改源表中的Score值。
23.下面语句的作用是( )
SELECT * INTO ExcellentStudents FROM Students WHERE Score >= 90;
A.删除Students中的优秀学生
B.只建立一个索引
C.把符合条件的记录生成到新表ExcellentStudents
D.修改Students表名
【答案】C
【解析】SELECT INTO根据查询结果生成新表,源表Students中的记录不会因此被删除。
24.下面语句的作用是( )
INSERT INTO HonorStudents (StudentID, StudentName) SELECT StudentID, StudentName FROM Students WHERE Score >= 90;
A.把符合条件的学生追加到HonorStudents表
B.修改所有学生成绩
C.生成一个参数查询
D.删除HonorStudents表
【答案】A
【解析】INSERT INTO ... SELECT ...把Students中符合条件的字段值追加到HonorStudents。
25.操作查询与选择查询相比,主要区别是操作查询( )
A.不需要保存
B.会对数据表中的记录或结构产生实际变化
C.不能设置任何条件
D.只能显示字段名称
【答案】B
【解析】更新、追加、删除和生成表查询属于操作查询,执行后可能改变数据或生成新表。
二、简答题(共5题,每题6分,共30分)
1.阅读SQL语句,写出查询结果。
PARAMETERS [请输入部门编号] Text (5);
CREATE TABLE Employees (EmployeeID TEXT(10), EmployeeName TEXT(20), DeptID TEXT(5), Salary INTEGER);
INSERT INTO Employees
VALUES ('E01', '林晓', 'D01', 4800);
INSERT INTO Employees
VALUES ('E02', '陈宇', 'D02', 5600);
INSERT INTO Employees
VALUES ('E03', '吴涛', 'D02', 6200);
INSERT INTO Employees
VALUES ('E04', '赵安', 'D03', 5100);
SELECT EmployeeName, Salary
FROM Employees
WHERE DeptID = [请输入部门编号]
ORDER BY Salary DESC;
-- 输入参数:D02
【答案】查询结果为:吴涛 6200;陈宇 5600。
【解析】参数值D02代入WHERE条件,只筛选D02部门;最后按Salary降序排列。
2.阅读SQL语句,写出查询结果。
CREATE TABLE Orders (OrderID TEXT(10), ProductName TEXT(30), Price INTEGER, Quantity INTEGER);
INSERT INTO Orders
VALUES ('O01', '键盘', 45, 2);
INSERT INTO Orders
VALUES ('O02', '鼠标', 25, 3);
INSERT INTO Orders
VALUES ('O03', '耳机', 68, 1);
INSERT INTO Orders
VALUES ('O04', '摄像头', 120, 2);
SELECT OrderID, ProductName, Price * Quantity AS Amount
FROM Orders
WHERE Quantity >= 2
ORDER BY Amount DESC;
【答案】查询结果为:O04 摄像头 240;O01 键盘 90;O02 鼠标 75。
【解析】Quantity >= 2筛选数量不少于2的订单,Amount由Price*Quantity计算得到,按Amount降序排列。
3.阅读SQL语句,写出查询结果。
CREATE TABLE Scores (StudentID TEXT(10), StudentName TEXT(20), ClassID TEXT(5), Score INTEGER);
INSERT INTO Scores
VALUES ('S01', '张晨', 'C01', 82);
INSERT INTO Scores
VALUES ('S02', '李雪', 'C01', 94);
INSERT INTO Scores
VALUES ('S03', '王浩', 'C02', 76);
INSERT INTO Scores
VALUES ('S04', '赵安', 'C02', 88);
INSERT INTO Scores
VALUES ('S05', '陈宇', 'C03', 91);
SELECT ClassID, COUNT(*) AS StudentCount, AVG(Score) AS AverageScore
FROM Scores
GROUP BY ClassID
HAVING AVG(Score) >= 85
ORDER BY AverageScore DESC;
【答案】查询结果为:C03 1 91;C01 2 88。
【解析】先按ClassID分组并计算人数和平均成绩,再用HAVING筛选平均成绩不低于85的班级,最后按AverageScore降序排列。
4.阅读SQL语句,写出执行后ArchiveStudents表中的记录。
CREATE TABLE Students (StudentID TEXT(10), StudentName TEXT(20), Score INTEGER);
CREATE TABLE ArchiveStudents (StudentID TEXT(10), StudentName TEXT(20), Score INTEGER);
INSERT INTO Students
VALUES ('S01', '张晨', 95);
INSERT INTO Students
VALUES ('S02', '李雪', 82);
INSERT INTO Students
VALUES ('S03', '王浩', 91);
INSERT INTO Students
VALUES ('S04', '赵安', 76);
INSERT INTO ArchiveStudents
VALUES ('S00', '刘老师', 100);
INSERT INTO ArchiveStudents (StudentID, StudentName, Score) SELECT StudentID, StudentName, Score
FROM Students
WHERE Score >= 90;
SELECT StudentID, StudentName, Score
FROM ArchiveStudents
ORDER BY StudentID ASC;
【答案】查询结果为:S00 刘老师 100;S01 张晨 95;S03 王浩 91。
【解析】追加查询将Students中成绩不低于90分的S01和S03追加到ArchiveStudents,原有S00仍然保留。
5.阅读SQL语句,写出生成表TopBooks后的查询结果。
CREATE TABLE Books (BookID TEXT(10), BookName TEXT(30), Category TEXT(20), Price INTEGER);
INSERT INTO Books
VALUES ('B01', '数据库基础', '专业', 68);
INSERT INTO Books
VALUES ('B02', '程序设计', '专业', 55);
INSERT INTO Books
VALUES ('B03', '办公软件', '公共', 42);
INSERT INTO Books
VALUES ('B04', '网页制作', '专业', 76);
SELECT BookID, BookName, Price INTO TopBooks
FROM Books
WHERE Category = '专业' AND Price >= 60;
SELECT BookID, BookName, Price
FROM TopBooks
ORDER BY Price DESC;
【答案】查询结果为:B04 网页制作 76;B01 数据库基础 68。
【解析】SELECT INTO根据Category为专业且Price不低于60的记录生成TopBooks,最后按Price降序查询新表。
三、案例分析题(共1题,共10分)
1.下面Access SQL用于生成成绩不低于90分的ExcellentStudents表,但生成表查询中有一处条件错误,请指出并改正。
CREATE TABLE Students (StudentID TEXT(10) PRIMARY KEY, StudentName TEXT(20), ClassID TEXT(5), Score INTEGER);
INSERT INTO Students
VALUES ('S01', '张晨', 'C01', 90);
INSERT INTO Students
VALUES ('S02', '李雪', 'C02', 86);
INSERT INTO Students
VALUES ('S03', '王浩', 'C02', 95);
INSERT INTO Students
VALUES ('S04', '赵安', 'C03', 78);
SELECT StudentID, StudentName, Score INTO ExcellentStudents
FROM Students
WHERE Score > 90;
【答案】将WHERE条件中的Score > 90改为Score >= 90,其他语句保持不变。
【解析】题目要求成绩不低于90分,90分也应被生成到新表中,因此应使用Score >= 90;SELECT INTO根据查询结果创建ExcellentStudents表。
四、综合应用题(共1题,共10分)
1.编写Access SQL任务:建立Students和HonorStudents两张表并添加学生记录;将C01班成绩提高5分;把成绩不低于90分的学生追加到HonorStudents;最后按班级统计学生人数和平均成绩,按平均成绩降序排列。
【答案】
CREATE TABLE Students (StudentID TEXT(10) PRIMARY KEY, StudentName TEXT(20) NOT NULL, ClassID TEXT(5) NOT NULL, Score INTEGER);
CREATE TABLE HonorStudents (StudentID TEXT(10), StudentName TEXT(20), Score INTEGER);
INSERT INTO Students
VALUES ('S01', '张晨', 'C01', 86);
INSERT INTO Students
VALUES ('S02', '李雪', 'C01', 92);
INSERT INTO Students
VALUES ('S03', '王浩', 'C02', 88);
INSERT INTO Students
VALUES ('S04', '赵安', 'C02', 76);
INSERT INTO Students
VALUES ('S05', '陈宇', 'C03', 95);
UPDATE Students
SET Score = Score + 5
WHERE ClassID = 'C01';
INSERT INTO HonorStudents (StudentID, StudentName, Score) SELECT StudentID, StudentName, Score
FROM Students
WHERE Score >= 90;
SELECT ClassID, COUNT(*) AS StudentCount, AVG(Score) AS AverageScore
FROM Students
GROUP BY ClassID
ORDER BY AverageScore DESC;
【解析】先建立Students和HonorStudents表并添加学生记录;UPDATE将C01班每名学生成绩提高5分;追加查询把修改后成绩不低于90分的学生写入HonorStudents;最后使用GROUP BY、COUNT和AVG按班级统计人数与平均成绩,并按平均成绩降序排列。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$