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

144. View the Exhibit and examine the structure of the PRODUCTS table.

You want to display the category with the maximum number of items.

You issue the following query:

SQL>SELECT COUNT(*),prod_category_id

FROM products

GROUP BY prod_category_id

HAVING COUNT(*) = (SELECT MAX(COUNT(*)) FROM products); 没有group by

What is the outcome? 

OCP-1Z0-051-V9.02-144题_第1张图片

 

A. It executes successfully and gives the correct output.

B. It executes successfully but does not give the correct output.

C. It generates an error because the subquery does not have a GROUP BY clause.

D. It generates an error because = is not valid and should be replaced  by the   IN operator.

Answer: C

答案解析:

1、首先来运行前半句,可见语法是正确的。

 

sh@TESTDB> SELECT COUNT(*),prod_category_id
  2  FROM products
  3  GROUP BY prod_category_id
  4  HAVING COUNT(*)=2;
  COUNT(*) PROD_CATEGORY_ID
---------- ----------------
         2              202

2、再来运行子查询,报错,缺少group by函数。故选C,子查询缺少group by函数。

 

sh@TESTDB> SELECT MAX(COUNT(*)) FROM products;
SELECT MAX(COUNT(*)) FROM products
           *
ERROR at line 1:
ORA-00978: nested group function without GROUP BY

 

你可能感兴趣的:(OCP-1Z0-051-V9.02-144题)