19.choose the best answer
View the Exhibit and examine the structure of the PROMOTIONS table.
Evaluate the following SQL statement:
SQL>SELECT promo_name,CASE
WHEN promo_cost>=(SELECT AVG(promo_cost)
FROM promotions
WHERE promo_category= 'TV')
THEN 'HIGH'
ELSE 'LOW'
END COST_REMARK
FROM promotions;
Which statement is true regarding the outcome of the above query?
A) It shows COST_REMARK for all the promos in the promo category 'TV' .
B) It produces an error because subqueries cannot be used with the CASE expression.
C) It shows COST_REMARK for all the promos in the table.
D) It produces an error because the subquery gives an error.
Answer:C
(解析:category 'TV'只是判定 promo_cost 的一个条件,显示的是所有 category 的内容。
使用如下语句验证:
SELECT promo_name,promo_category,CASE
WHEN promo_cost>=(SELECT AVG(promo_cost)
FROM promotions
WHERE promo_category= 'TV')
THEN 'HIGH'
ELSE 'LOW'
END COST_REMARK
FROM promotions
where rownum < 30;
)