问题
单项选择题
设在SQL Server 2000某数据库中有选课表(学号,课程号,成绩),设成绩列的数据类型为INT,且有取值范围为0~100的约束。若需统计全体学生的平均成绩(精确到小数点后1位),下列语句正确的是
A)SELECT CAST(AVG(成绩) AS NUMERIC(4,1)) FROM 选课表
B)SELECT AVG(CAST(成绩 AS NUMERIC(4,1))) FROM 选课表
C)SELECT AVG(成绩) AS NUMERIC(4,1) FROM 选课表
D)SELECT CAST(AVG(成绩*1.0) AS NUMERIC(4,1)) FROM 选课表
答案
参考答案:A
解析: 查询语句的基本结构为:
SELECT<目标列名序列>FROM<数据源>[WHE]RE,<行选择条件>][GROUP BY<分组依据列>][HAVING<组选择条件>][ORDER BY<排序依据列>]
SQL提供的聚合函数有:
①COUNT(*):统计表中元组的个数。
②COUNT([ALL(全部)| DISTINCT(无重复)]<列名>):统汁本列非空列值的个数。
③SUM(<列名>):计算列值的总和(必须是数值型列)。
④AVG(<列名>):计算列值平均值(必须是数值型列)。
⑤MAX(<列名>):求列值最大值。
⑥MIN(<列名>):求列值最小值。