HAVING VS WHERE

By | February 24, 2016

Though the HAVING clause specifies a condition that is similar to the purpose of a WHERE clause, the two clauses are not interchangeable. Listed below are some differences to help distinguish between the two:

1. The WHERE clause specifies the criteria which individual records must meet to be selcted by a query. It can be used without the GROUP BY clause. The HAVING clause cannot be used without the GROUP BY clause.
2. The WHERE clause selects rows before grouping. The HAVING clause selects rows after grouping.
3. The WHERE clause cannot contain aggregate functions. The HAVING clause can contain aggregate functions.

for Example: if for an “Select” statement we use the “where” clause then the the result based on the “where” condition results and then we can use “group by” clause to arrange in some order, Now if we want to impose the condition on that group then we use “having” clause.

The main reason for using WHERE clause is to select rows that are to be included in the query. For example, assume table Test.Suppose I want the names, account numbers, and balance due of all customers from California and Los Angles. Since STATE is one of the fields in the record format, I can use WHERE to select those customers.

SELECT cusnum, lstnam, init FROM Test WHERE state IN (‘CA’, ‘LA’)

SELECT state,SUM(baldue) FROM Test GROUP BY state ORDER BY state

SELECT state,SUM(baldue) FROM Test GROUP BY state HAVING SUM(baldue) > 250

Leave a Reply

Your email address will not be published. Required fields are marked *


*