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?
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字母表示是大写和小字的,而加了双引号都表示只包含大写??
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341