coisini002 2023-04-14 19:47 采纳率: 52.3%
浏览 19
已结题

设有学生表,结构为:学生表(学号,姓名,所在系)。现要建立统计每个系的学生人数的视图

设有学生表,结构为:学生表(学号,姓名,所在系)。现要建立统计每个系的学生人数的视图,正确语句是( D )
A. CREATE VIEW v1 AS SELECT 所在系, COUNT() FROM 学生表 GROUP BY 所在系
B. CREATE VIEW v1 AS SELECT 所在系, SUM(
) FROM 学生表 GROUP BY 所在系
C. CREATE VIEW v1(系名,人数) AS SELECT 所在系, SUM() FROM 学生表 GROUP BY 所在系
D. CREATE VIEW v1(系名,人数) AS SELECT 所在系, COUNT(
) FROM 学生表 GROUP BY 所在系
这个A选项为啥不可以,

  • 写回答

2条回答 默认 最新

  • Vayne16 2023-04-14 20:04
    关注

    以上提问确实比较清晰明了,需要从建立统计每个系的学生人数的视图角度来看。正确答案应该是选项C。

    在MySQL数据库中,CREATE VIEW语句用于创建视图。视图是根据SELECT语句定义的虚拟表。它们不包含数据,而是只显示SELECT语句中定义的数据。本题需要统计每个系的学生人数,因此需要使用GROUP BY子句对每个系进行分组计算。

    选项A中,使用的是COUNT()函数进行计数,但是COUNT()函数需要指定一个参数,表示需要计数的列。应该将COUNT()函数改为COUNT(*),表示计算所有行的行数。

    选项B使用的是SUM()函数进行计数,但是SUM()函数通常用于计算数值型数据的合计值,不适用于计数。需要改为COUNT(*)函数进行计数。

    而选项C则使用了正确的SUM()函数对每个系的学生人数进行计算,同时定义了视图v1的两个列名分别为“系名”和“人数”。

    最后,选项D中使用了COUNT()函数进行计数,但是没有指定参数,会导致错误。因此,选项C是正确的。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月3日
  • 创建了问题 4月14日