SQL HAVING Clause

The Having clause in SQL is typically used with SQL Queries to provide a more precise condition for a statement. You can use it to mention conditions in Group by based SQL queries, such as the WHERE clause which is used with SELECT query.

 

Below is the syntax for the HAVING clause;

Syntax for the having

SELECT column_name, function(column_name) FROM table_name WHERE column_name condition GROUP BY column_name HAVING function(column_name) condition

 

Example of SQL Statement using HAVING

Let’s consider the Sale table below:

oidorder_nameprevious_balancecustomer
11ord12000Alex
12ord21000Adam
13ord32000Mike
14ord41000Unaoi
15ord52000Alex

Take, for instance, we want to find the customer whose previous_balance sum is more than 3000. We can use the SQL query below,

SELECT *
FROM sale GROUP BY customer
HAVING sum(previous_balance) > 3000

The result is shown in the table below:

oidorder_nameprevious_balancecustomer
11ord12000Alex

Conclusively, the basic objective of the above SQL query was to find out the name of the customer who has had a previous_balance more than 3000, with respect to all the previous sales made to the customer, therefore the first row in the table for customer Alex is obtained.