问题 单项选择题

设在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(<列名>):求列值最小值。

问答题
填空题