Evaluate the following SQL statement:
SQL> SELECT promo_id, promo_category
FROM promotions
WHERE promo_category = ‘Internet’ ORDER BY 2 DESC
UNION
SELECT promo_id, promo_category
FROM promotions
WHERE promo_category = ‘TV’
UNION
SELECT promo_id, promo_category
FROM promotions
WHERE promo_category =’Radio’;
Which statement is true regarding the outcome of the above query?
A.
It executes successfully and displays rows in the descending order of PROMO_CATEGORY.
B.
It produces an error because positional notation cannot be used in the ORDER BY clause with
SET operators.
C.
It executes successfully but ignores the ORDER BY clause because it is not located at the end
of the compound statement.
D.
It produces an error because the ORDER BY clause should appear only at the end of a compound
query-that is, with the last SELECT statement.
Explanation:
Using the ORDER BY Clause in Set Operations
The ORDER BY clause can appear only once at the end of the compound query. Component
queries cannot have individual ORDER BY clauses. The ORDER BY clause recognizes only the
columns of the first SELECT query.
By default, the first column of the first SELECT query is used to sort the output in an ascending
order.