组词大全

学生(学号(C,8),姓名(C,6),性别(C,2),出生日期(D))选课(学号(C,8),课程号(C,3),成绩(N,5,1)) 假定学号的第3、4位为专业代码。要计算各专业学生选修课程号为“007

学生(学号(C,8),姓名(C,6),性别(C,2),出生日期(D))选课(学号(C,8),课程号(C,3),成绩(N,5,1)) 假定学号的第3、4位为专业代码。要计算各专业学生选修课程号为“007'课程的平均成绩,正确的SQL语句是( )。 A. SELECT专业AS SUBS(学号,3,2),平均分AS AVG(成绩)FROM选课WHERE课程号=”007” GROUP BY专业 B. SELECT SUBS(学号,3,2)AS专业,AVG(成绩)As平均分FROM选课WHERE课程号=”007” GROUP BY 1 C. SELECT SUBS(学号,3,2)AS专业,AVG(成绩)As平均分FROM选课WHERE课程号=”007”OR—DER BY专业 D. SELECT专业AS SUBS(学号,3,2),平均分AS AVG(成绩)FROM选课WHERE课程号=”007”OR—DER RY 1

要计算各专业学生选修课程号为“007”的平均成绩,需完成三个核心步骤:从学号中提取专业代码、筛选目标课程、按专业分组计算平均分。以下是对各选项的分析:

关键步骤解析

提取专业代码:学号第3-4位为专业代码,需使用字符串截取函数。题目中使用SUBS(学号,3,2)(起始位置3,长度2),正确提取专业代码。

筛选课程:需通过WHERE 课程号='007'限定仅计算目标课程成绩。

分组计算:按专业分组(GROUP BY)后,用AVG(成绩)计算平均分;ORDER BY是排序操作,题目无需排序,故含ORDER BY的选项(C、D)直接排除。

选项对比

A选项:SELECT 专业 AS SUBS(学号,3,2)...语法错误。AS用于为表达式取别名,正确格式应为表达式 AS 别名,而非别名 AS 表达式。

B选项:SELECT SUBS(学号,3,2) AS 专业, AVG(成绩) AS 平均分... GROUP BY 1

正确提取专业代码并命名为“专业”,计算平均分并命名为“平均分”;

GROUP BY 1表示按SELECT列表中第1个字段(即提取的专业代码)分组,逻辑正确。

答案:B

该选项正确完成了专业代码提取、课程筛选、分组计算的全流程,语法和逻辑均无误。需注意SQL中AS的正确用法(表达式在前,别名在后)及GROUP BY对分组字段的指定规则。

相关成语


成语首拼