问题
单项选择题
产品(PRODUCT)表的结构如下:
PRODUCT | ||
PRODUCT_ID | NUMBER | NOT NULL, Primary Key |
PRODUCT_NAME | VARCHAR2(25) | |
SUPPLIER_ID | NUMBER | Foreign key to SUPPLIER_ID of the SUPPLIER table |
LIST_PRICE | NUMBER(7, 2) | |
COST | NUMBER(7, 2) | |
QTY_IN_STOCK | NUMBER | |
QTY_ON_ORDER | NUMBER | |
REORDER_LEVEL | NUMBER | |
REORDER_QTY | NUMBER |
SELECTsupplier_id,AVG(cost)
FROM product
WHEREAVG(list_price)>60.00
GROUP BY supplier_id
ORDER BY AVG(cost)DESC;
A.FROM
B.WHERE
C.GROUP BY
D.ORDER BY
答案
参考答案:B
解析: 这一题是测试对HAVING子句的理解。根据有关HAVING子句的介绍,可知WHERE子句不能用于限制分组函数,在Oracle中应该使用HAVING子句来限制分组函数,所以可以确定WHERE AVG(list_price)>60.00子句是错误的,即选项B是正确的。
在本题的SQL语句中,子句FROM product、GROUP BY supplier_id和ORDER BY AVG(cost)DESC都是正确的,所以选项A、C和D都不是本题的答案。