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

备考刷题,请到

CDA认证小程序

SQL语言中每个函数出现的位置都是有要求的,稍有错误就会导致语法错误或者结果数据的计算错误。SQL中的COUNT、SUM、AVG、MAX、MIN等函数,不可以出现在()子句中
A. SELECT
B. WHERE
C. HAVING
D. ORDER BY
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(0)

由于SQL语句的执行顺序:FROM -> ON -> JOIN -> WHERE -> GROUP BY -> HAVING -> SELECT -> DISTINCT -> UNION -> ORDER BY -> LIMIT,WHERE子句中不能用聚合函数。

正确答案是:B: WHERE

专业分析:
在SQL语言中,COUNT、SUM、AVG、MAX、MIN等聚合函数主要用于对数据进行汇总计算。它们的使用位置有严格的要求,通常出现在SELECT、HAVING和ORDER BY子句中,而不能出现在WHERE子句中。

1. **SELECT子句**:可以包含聚合函数,用于计算并返回汇总数据。例如:
```sql
SELECT COUNT(*), SUM(salary), AVG(age) FROM employees;
```

2. **WHERE子句**:用于过滤记录,但不能包含聚合函数。WHERE子句在聚合计算之前执行,因此不能对聚合结果进行过滤。例如,以下语法是错误的:
```sql
SELECT * FROM employees WHERE COUNT(*) > 1;
```

3. **HAVING子句**:可以包含聚合函数,用于对聚合结果进行过滤。HAVING子句在聚合计算之后执行。例如:
```sql
SELECT department, COUNT(*) FROM employees GROUP BY department HAVING COUNT(*) > 1;
```

4. **ORDER BY子句**:可以包含聚合函数,用于对结果进行排序。例如:
```sql
SELECT department, COUNT(*) FROM employees GROUP BY department ORDER BY COUNT(*) DESC;
```

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