View the Exhibit and examine the structure of the SALES table.
The following query is written to retrieve all those product IDs from the SALES table that have
more than 55000 sold and have been ordered more than 10 times.
Which statement is true regarding this SQL statement?
A.
It executes successfully and generates the required result.
B.
It produces an error because count(*) should be specified in the SELECT clause also.
C.
It produces an error because count{*) should be only in the HAVING clause and not in the
WHERE clause.
D.
It executes successfully but produces no result because COUNT (prod_id) should be used
instead of COUNT (*).
Explanation:
Restricting Group Results with the HAVING Clause
You use the HAVING clause to specify the groups that are to be displayed, thus further restricting
the groups on the basis of aggregate information.
In the syntax, group_condition restricts the groups of rows returned to those groups for which the
specified condition is true.
The Oracle server performs the following steps when you use the HAVING clause:
1. Rows are grouped.
2. The group function is applied to the group.
3. The groups that match the criteria in the HAVING clause are displayed.
The HAVING clause can precede the GROUP BY clause, but it is recommended that you place
the GROUP BY clause first because it is more logical. Groups are formed and group functions are
calculated before the HAVING clause is applied to the groups in the SELECT list.
Note: The WHERE clause restricts rows, whereas the HAVING clause restricts groups.
C