考试报名
考试报名
考试内容
考试大纲
在线客服
返回顶部

备考刷题,请到

CDA认证小程序

设数据库中有以下三张表:sc(sno,cno,grade),course(cno,cname,hours),student(sno,sname,ssex,sage,sdept)。试用SQL语言写出以下查询。 查询每个系别的学生人数
A. SELECT SUM(sno) FROM student GROUP BY sdept;
B. SELECT SUM(sno) FROM student ORDER BY sdept;
C. SELECT COUNT(sno) FROM student ORDER BY sdept;
D. SELECT COUNT(sno) FROM student GROUP BY sdept;
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(0)

使用COUNT函数进行计数,GROUP BY指定分组。

正确答案是:D: SELECT COUNT(sno) FROM student GROUP BY sdept;

专业分析如下:

1. **需求分析**:题目要求查询每个系别的学生人数。这个需求可以通过统计各个系别的学生数量来实现。

2. **SQL语句分析**:
- **A: SELECT SUM(sno) FROM student GROUP BY sdept;**
- `SUM(sno)`会对学号进行求和,这不符合统计学生人数的需求。
- **B:SELECT SUM(sno) FROM student ORDER BY sdept;**
- 同样,`SUM(sno)`会对学号进行求和,并且`ORDER BY sdept`只是对结果排序,不会进行分组统计。
- **C:SELECT COUNT(sno) FROM student ORDER BY sdept;**
- `COUNT(sno)`可以统计学生人数,但`ORDER BY sdept`只是对结果排序,没有进行分组统计。
- **D: SELECT COUNT(sno) FROM student GROUP BY sdept;**
- `COUNT(sno)`统计每个系别的学生人数,`GROUP BY sdept`按照系别进行分组统计,符合题目需求。

3. **总结**:选项D正确地使用了`COUNT(sno)`来统计学生人数,并且正确地使用`GROUP BY sdept`来按系别分组统计,因此答案是D。