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

备考刷题,请到

CDA认证小程序

Each function in SQL has positional requirements, slight errors can lead to syntax errors or incorrect result calculations. The COUNT, SUM, AVG, MAX, MIN functions in SQL cannot appear in which clause()?
A. SELECT
B. WHERE
C. HAVING
D. ORDER BY
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(0)

Due to the execution order of SQL statements: FROM -> ON -> JOIN -> WHERE -> GROUP BY -> HAVING -> SELECT -> DISTINCT -> UNION -> ORDER BY -> LIMIT, aggregate functions cannot be used in the WHERE clause.

正确答案是:B: WHERE

专业分析:

在SQL中,COUNT, SUM, AVG, MAX, MIN等聚合函数(aggregate functions)用于对一组值进行计算,并返回单一的值。它们通常用于生成汇总数据。根据SQL的语法规则,聚合函数有特定的使用场景和限制。

1. **SELECT子句**:聚合函数可以出现在SELECT子句中,用于返回计算结果。例如:
```sql
SELECT COUNT(*), SUM(salary), AVG(age) FROM employees;
```

2. **WHERE子句**:聚合函数不能出现在WHERE子句中。WHERE子句用于过滤行,在行级别进行操作,而聚合函数是在组级别进行计算的。因此,不能在WHERE子句中使用聚合函数。例如,以下SQL是错误的:
```sql
SELECT * FROM employees WHERE COUNT(*) > 1; -- 错误
```

3. **HAVING子句**:聚合函数可以出现在HAVING子句中,用于对分组后的结果进行过滤。例如:
```sql
SELECT department, COUNT(*) FROM employees GROUP BY department HAVING COUNT(*) > 5;
```

4. **ORDER BY子句**:聚合函数可以出现在ORDER BY子句中,用于对结果集进行排序。例如:
```sql
SELECT department, COUNT(*) as emp_count FROM employees GROUP BY department ORDER BY COUNT(*);
```

综上所述,聚合函数不能出现在WHERE子句中,因此正确答案是B: WHERE。