老爷子88 发表于 2015-6-17 09:58:55

OCP-1Z0-051-题目解析-第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 incomelevel.

      Whichquery would give the required result?

(题意:使用客户表,须要做一个报表,列出每一个收入等级的信用额度的50%,并去除反复值。以下的哪个查询语句能够得到这个结果?)

A.

SELECTcust_income_level, DISTINCT cust_credit_limit * 0.50   

AS "50% Credit Limit"

FROM customers;

B.

SELECT DISTINCT cust_income_level, DISTINCT cust_credit_limit * 0.50   

AS "50% Credit Limit"

FROM customers;

C.

SELECT DISTINCT cust_income_level   ' 'cust_credit_limit * 0.50

AS "50% Credit Limit"

FROM customers;

D.

SELECT cust_income_level ' ' cust_credit_limit * 0.50

AS "50% Credit Limit"

FROM customers;



  Answer: C
  题目解析:
  这道题是关于distinct的使用方法:

1.distinct仅仅能放在第一个字段的前面,如Select distinct x,y from t,

2.当distinct后有多个字段时,表示全部字段的值都同样才视为反复值,如Select distinct x,y from t,

仅仅有当x,y的值都同样时,才视为反复值去除。



所以选项AB是语法错误,选项D没有去除反复值,不合题意。

事实上C也有点错误,正确的写法是:



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

语句中的''应该换成连接符||  
页: [1]
查看完整版本: OCP-1Z0-051-题目解析-第14题