DA0-002 Data Acquisition and Preparation Practice Question
A data analyst uses the following query: SELECT department, AVG(salary) AS avg_salary FROM employees GROUP BY department HAVING AVG(salary) > 50000. What is the purpose of the HAVING clause in this query?
⚠ Common exam trap
DA0-002 often tests the WHERE vs HAVING distinction — candidates pick 'filter individual employee records before grouping' because they conflate the two clauses, missing that HAVING operates on aggregated groups and is the only clause that can filter on aggregate results.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
To filter groups (departments) based on the average salary
The HAVING clause filters groups after aggregation, so in this query it keeps only departments whose average salary exceeds 50000. It operates on the result of GROUP BY, which is why it can reference aggregate functions like AVG(salary) that WHERE cannot.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
To ensure only departments with more than 50000 employees are shown
Why it's wrong here
The HAVING predicate compares the averaged salary value, not a headcount; 50000 is a salary threshold, not an employee count. It tempts because HAVING does filter groups, but the correct interpretation is filtering departments whose average salary exceeds 50000.
- ✗
To filter individual employee records before grouping
Why it's wrong here
WHERE filters individual rows before grouping, whereas HAVING filters aggregated groups after GROUP BY. It tempts because both clauses restrict rows, but here the condition applies to AVG(salary) per department, which only exists post-aggregation, so WHERE cannot reference it.
- ✗
To sort departments by average salary
Why it's wrong here
HAVING filters groups after aggregation, restricting which department rows appear; it cannot order results. Sorting is performed by ORDER BY, which would be the right clause had the requirement been to arrange departments by average salary rather than to exclude those below the threshold.
- ✓
To filter groups (departments) based on the average salary
Why this is correct
HAVING filters aggregated results after GROUP BY executes, unlike WHERE which filters rows beforehand. Here it discards department groups whose computed average salary does not exceed 50000, restricting output to qualifying groups based on the aggregate.
Go deeper
Related to this question
About these practice questions
One of 1,004 original DA0-002 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed September 2026 · checked against the official CompTIA exam blueprint
This DA0-002 practice question is part of Courseiva's free CompTIA certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the DA0-002 exam.