您的位置:首页 > 其它

OCP-1Z0-051-V9.02-110题

2013-09-24 14:51 405 查看
110. View the Exhibit and examine the structure of the CUSTOMERS table.

Using the CUSTOMERS table, you need to generate a report that shows the average credit limit for

customers in WASHINGTON and NEW YORK.

Which SQL statement would produce the required result?

A. SELECT cust_city, ***G(cust_credit_limit)

FROM customers

WHERE cust_city IN ('WASHINGTON','NEW YORK')

GROUP BY cust_credit_limit, cust_city;

B. SELECT cust_city, ***G(cust_credit_limit)

FROM customers

WHERE cust_city IN ('WASHINGTON','NEW YORK')

GROUP BY cust_city,cust_credit_limit;

C. SELECT cust_city, ***G(cust_credit_limit)

FROM customers

WHERE cust_city IN ('WASHINGTON','NEW YORK')

GROUP BY cust_city; 按照城市来取平均值

D. SELECT cust_city, ***G(NVL(cust_credit_limit,0))

FROM customers

WHERE cust_city IN ('WASHINGTON','NEW YORK');

Answer: C

答案解析:

A答案:此处是按照cust_credit_limit, cust_city;这两个一起分组的。此处换另外两个城市来测试。

sh@TEST0924> SELECT cust_city,***G(cust_credit_limit) FROM customers WHERE cust_city IN ('Duncan','Norman')
2 GROUP BY cust_credit_limit, cust_city;

CUST_CITY ***G(CUST_CREDIT_LIMIT)
------------------------------ ----------------------
Norman 1500
Duncan 9000
Duncan 11000
Norman 3000
Norman 5000
Duncan 3000
Norman 11000
Duncan 5000
Norman 10000
Duncan 1500
Duncan 7000
Norman 9000
Duncan 10000
Duncan 15000
Norman 7000
Norman 15000

16 rows selected.

B答案,与A答案一样,按照cust_credit_limit, cust_city;这两个一起分组的。

C答案,按照cust_city来分组,与题意复合

h@TEST0924> SELECT cust_city,***G(cust_credit_limit) FROM customers WHERE cust_city IN ('Duncan','Norman')
2 GROUP BY cust_city;

CUST_CITY ***G(CUST_CREDIT_LIMIT)
------------------------------ ----------------------
Duncan 6550
Norman 6634.92063


D答案:缺少group by

sh@TEST0924> SELECT cust_city, ***G(NVL(cust_credit_limit,0)) FROM customers WHERE cust_city IN ('Duncan','Norman');
SELECT cust_city, ***G(NVL(cust_credit_limit,0)) FROM customers WHERE cust_city IN ('Duncan','Norman')
*
ERROR at line 1:
ORA-00937: not a single-group group function


sh@TEST0924> SELECT cust_city, ***G(NVL(cust_credit_limit,0)) FROM customers WHERE cust_city IN ('Duncan','Norman')
2 GROUP BY cust_city;

CUST_CITY ***G(NVL(CUST_CREDIT_LIMIT,0))
------------------------------ -----------------------------
Duncan 6550
Norman 6634.92063
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: