2019 OCP 1z0-071题库:SQL查询排序与WHERE/HAVING用法详解

需积分: 8 0 下载量 15 浏览量 更新于2024-07-16 收藏 3.71MB DOCX 举报
Oracle 12C OCP考试题库文档包含了针对11G和12C版本的多项考试问题,其中涉及到SQL查询语句的理解与应用。本部分摘录了两个示例问题来解析重要的知识点。 第一个问题(QUESTION1)考察了SQL集合操作中的ORDER BY子句使用。题目要求评估以下SQL语句,并指出三个可以完成查询的ORDER BY子句。正确答案是ABD: A. ORDER BY "Lastname":这是正确的,因为ORDER BY列名"Lastname",表明按照"Lastname"字段进行排序,符合SQL语句中一个ORDER BY clause的规定。 B. ORDER BY 2, cust_id:这个选项也正确,这里的数字2通常指的是第二个SELECT语句中的列索引,由于Oracle默认使用第一个SELECT查询的第一个列进行排序,这里指定了第二个列(cust_id)进行排序。 D. ORDER BY 2, 1:这个选项也是合理的,它首先根据第二个SELECT语句的列(cust_id)排序,然后在相同值时再根据第一个SELECT语句的列("Lastname")排序。 注意,每个SELECT查询不能有独立的ORDER BY子句,而是通过在复合查询末尾使用一个共同的ORDER BY来实现排序。 第二个问题(QUESTION2)关注WHERE和HAVING子句的区别和共同点: A. WHERE和HAVING clauses cannot be used together in a SQL statement:这是错误的。WHERE子句用于筛选行,而HAVING子句用于筛选分组后的结果集,它们可以同时出现在同一个SQL语句中,但WHERE在GROUP BY之前使用。 B. The HAVING clause conditions can have aggregate functions:这是正确的,HAVING子句可以在条件中使用聚合函数,如COUNT(), SUM(), AVG()等,用于基于分组后的数据过滤。 C. The HAVING clause conditions can use aliases for the column:这也是正确的,HAVING子句中的条件可以引用SELECT语句中定义的别名,方便处理计算结果。 总结:这部分内容主要涉及SQL查询语句的ORDER BY子句在集合操作中的使用,以及WHERE和HAVING子句在筛选条件上的区别和共同点,这些知识点对于理解Oracle数据库的高级查询技巧至关重要。考生在备考OCP Oracle 12C考试时,应熟练掌握这些概念并能灵活运用到实际问题中。