SQL HAVING Clause
The HAVING clause in SQL is used to filter rows that appear after GROUP BY
based on specified
conditions. It is similar to the WHERE
clause but operates on grouped rows rather than individual rows.
1. Overview
The HAVING
clause is typically used in conjunction with the GROUP BY
clause to filter
groups based on aggregate values. It allows you to apply conditions to grouped data after the aggregation has been
performed.
Example:
// Example of using the HAVING clause
SELECT department, AVG(salary) AS avg_salary
FROM employees
GROUP BY department
HAVING AVG(salary) > 50000;
This example selects the department
and calculates the average salary for each department. It then
filters the results to include only departments with an average salary greater than $50,000.
2. Syntax
The basic syntax of the HAVING
clause is as follows:
SELECT column1, column2, ...
FROM table_name
GROUP BY column1, column2, ...
HAVING condition;
The HAVING
clause must appear after the GROUP BY
clause and before the
ORDER BY
clause, if present.
3. Usage
To use the HAVING
clause, specify the condition(s) to filter grouped rows based on aggregate values. The
condition can include aggregate functions such as COUNT()
, SUM()
, AVG()
,
MIN()
, or MAX()
.
Example:
// Example of using the HAVING clause with aggregate functions
SELECT department, COUNT(*) AS num_employees
FROM employees
GROUP BY department
HAVING COUNT(*) > 10;
This example groups the rows by the department
column and calculates the count of employees in each
department. It then filters the results to include only departments with more than 10 employees.
4. Conclusion
The SQL HAVING clause is a valuable tool for filtering grouped rows based on aggregate values. It allows users to apply conditions to grouped data after aggregation, enabling more precise analysis and reporting.
Comments
Post a Comment