oracle ocp 1z0 051题库解析,OCP-1Z0-051 62题个人理解

一、原题

View the Exhibit and examine the structure of the CUSTOMERS table.

You want to generate a report showing the last names and credit limits of all customers whose last names start with A, B, or C, and credit limit is below 10, 000.

Evaluate the following two queries:

SQL> SELECT cust_last_name, cust_credit_limit

FROM customers

WHERE (UPPER(cust_last_name) LIKE 'A%' OR UPPER(cust_last_name) LIKE 'B%' OR UPPER(cust_last_name) LIKE 'C%')

AND cust_credit_limit < 10000;

SQL>SELECT cust_last_name, cust_credit_limit FROM customers

WHERE UPPER(cust_last_name) BETWEEN 'A' AND 'C'

AND cust_credit_limit < 10000;

Which statement is true regarding the execution of the above queries?

5319d6f867c718bc5901b66363dbb1f3.png

A. Only the first query gives the correct result.B. Only the second query gives the correct result

C. Both execute successfully and give the same result.

D. Both execute successfully but do not give the required result.

答案:A

个人理解:

题目第一个条件,要求返回字母A,B,C开头的客户名,查询二没有返回符合要求的结果,原因解释居然有多种理解。根据个人理解,第二个查询返回的是以A和B开头(包括大小写!)的所有和单字母C(包括 大小写C)的用户名。

其实这个题我觉得都有点问题,既然只是判断首字母,那按惯例就不用UPPER函数,因为首字母按惯例已经是大写了,(这里用INITCAP不是更好理解?),那用了UPPER函数,是不是意味着还要返回小写字母a、b、c开头的姓名呢?(表中也没有说明该字段限定一定要用大写字母开头呀,惯例总不能直接默认了吧)而题干好像只是要求大写字母开头的,用了UPPER查询判断的又如何只返回大写字母开头的呢??除非还有另外一种解释,没加双引号的ABC字母表示是大写和小字的,而加了双引号都表示只包含大写??

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值