Oracle 11g OCA考试lz0-051:SQL基础实战

4星 · 超过85%的资源 需积分: 9 8 下载量 94 浏览量 更新于2024-07-26 收藏 7.72MB PDF 举报
"Oracle11g OCA 051相关的SQL基础练习测试" 在Oracle数据库领域,Oracle 11g OCA(Oracle Certified Associate)认证是对于初学者和专业人士的一个重要资格证明,其中051考试主要涵盖Oracle Database 11g的基础SQL知识。这个描述提及的是2013年的lz0-051考试,它被认为对考试内容有较好的覆盖。 题目1涉及到在`promotions`表中查找不包含子类别'discount'的所有促销类别。在SQL中,有两种方法可以实现这一目标: A. 使用`MINUS`操作符:此选项从`promotions`表中选择所有`promo_category`,然后减去那些`promo_subcategory`等于'discount'的记录。 B. 使用`INTERSECT`操作符:此选项会选择两个查询的交集,但在这种情况下,它会找到同时存在于两个条件下的`promo_category`,即既有'discount'子类别的记录。 C. 使用错误的`MINUS`操作符:此选项错误地从`promotions`表中选择所有`promo_category`,然后减去那些`promo_subcategory`不等于'discount'的记录,这将得到包含'discount'的类别。 D. 使用错误的`INTERSECT`操作符:同理,此选项会找出既有'discount'子类别的记录,与题目要求不符。 正确答案是A和D,因为它们分别通过`MINUS`操作符排除了'discount'子类别,并通过`INTERSECT`操作符找到了没有'discount'子类别的类别。 题目2则涉及SQL语句的执行,可能考察的是日期处理和更新操作: A. `UPDATE promotions SET promo_cost=promo_cost+100 WHERE TO_CHAR(promo_end_date,'yyyy')>'2000';` 这个语句尝试更新促销成本,增加100,但`WHERE`子句中的条件可能有问题,因为`TO_CHAR`函数返回的是字符串而非整数,比较运算符`>`可能无法正确处理。 B. 由于提供的选项不完整,我们无法判断这个`SELECT`语句是否能成功执行。通常,一个简单的`SELECT`语句如果没有语法错误,应该能够成功执行。 这两个问题展示了SQL中的基本查询和更新操作,包括`SELECT`, `UPDATE`, `MINUS`, `INTERSECT`等,以及日期处理函数`TO_CHAR`。在准备Oracle数据库11g OCA认证时,理解这些概念和操作至关重要。