设有学生表,结构为:学生表(学号,姓名,所在系)。现要建立统计每个系的学生人数的视图,正确语句是( 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选项为啥不可以,
以上提问确实比较清晰明了,需要从建立统计每个系的学生人数的视图角度来看。正确答案应该是选项C。
在MySQL数据库中,CREATE VIEW语句用于创建视图。视图是根据SELECT语句定义的虚拟表。它们不包含数据,而是只显示SELECT语句中定义的数据。本题需要统计每个系的学生人数,因此需要使用GROUP BY子句对每个系进行分组计算。
选项A中,使用的是COUNT()函数进行计数,但是COUNT()函数需要指定一个参数,表示需要计数的列。应该将COUNT()函数改为COUNT(*),表示计算所有行的行数。
选项B使用的是SUM()函数进行计数,但是SUM()函数通常用于计算数值型数据的合计值,不适用于计数。需要改为COUNT(*)函数进行计数。
而选项C则使用了正确的SUM()函数对每个系的学生人数进行计算,同时定义了视图v1的两个列名分别为“系名”和“人数”。
最后,选项D中使用了COUNT()函数进行计数,但是没有指定参数,会导致错误。因此,选项C是正确的。
不知道你这个问题是否已经解决, 如果还没有解决的话: