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

14. Using the CUSTOMERS table,  you need to generate a report that shows 50% of each   credit
amount in each income level. The report should NOT show any repeated credit amounts in each income
level.  --each income  level中没有重复的credit amounts
Which  query would give the required result?
A.

SELECT  cust_income_level, DISTINCT cust_credit_limit * 0.50   
AS "50% Credit Limit"
FROM customers;

sh@TESTDB> SELECT  cust_income_level, DISTINCT cust_credit_limit * 0.50    
  2  AS "50% Credit Limit" 
  3  FROM customers; 
SELECT  cust_income_level, DISTINCT cust_credit_limit * 0.50
                           *
ERROR at line 1:
ORA-00936: missing expression


语法错误,DISTINCT不应该放在第二列,应该放在第一列中

sh@TESTDB> SELECT DISTINCT  cust_income_level,cust_credit_limit * 0.50
  2  AS "50% Credit Limit"
  3  FROM customers where rownum<6;

CUST_INCOME_LEVEL              50% Credit Limit
------------------------------ ----------------
G: 130,000 - 149,999                       5500
G: 130,000 - 149,999                       4500
G: 130,000 - 149,999                       3500
G: 130,000 - 149,999                        750



B.

SELECT DISTINCT cust_income_level, DISTINCT cust_credit_limit * 0.50   
AS "50% Credit Limit"
FROM customers;

同A,语法错误,DISTINCT不应该放在第二个

SELECT DISTINCT cust_income_level, DISTINCT cust_credit_limit * 0.50    
  2  AS "50% Credit Limit" 
  3  FROM customers; 
SELECT DISTINCT cust_income_level, DISTINCT cust_credit_limit * 0.50
                                   *
ERROR at line 1:
ORA-00936: missing expression


 


C.

SELECT DISTINCT cust_income_level   '   '  cust_credit_limit * 0.50 
AS "50% Credit Limit"
FROM customers;

sh@TESTDB> SELECT DISTINCT cust_income_level   '   '  cust_credit_limit * 0.50 
  2  AS "50% Credit Limit" 
  3  FROM customers; 
SELECT DISTINCT cust_income_level   '   '  cust_credit_limit * 0.50
                                    *
ERROR at line 1:
ORA-00923: FROM keyword not found where expected


这道题愿意为用' '连接两个列,可能用错,应为||来连接,不过DISTINCT的位置 对的

sh@TESTDB> SELECT DISTINCT cust_income_level || cust_credit_limit * 0.50
  2  AS "50% Credit Limit" 
  3  FROM customers where rownum<6;

50% Credit Limit
----------------------------------------------------------------------
G: 130,000 - 149,999750
G: 130,000 - 149,9994500
G: 130,000 - 149,9993500
G: 130,000 - 149,9995500

D.

SELECT cust_income_level ' ' cust_credit_limit * 0.50 AS "50% Credit Limit"
FROM customers

D没有满足NOT show any repeated的条件。

此题答案C

原文地址:https://www.cnblogs.com/hzcya1995/p/13317263.html