OCP-1Z0-051 第126题 LEFT OUTER JOIN,FULL OUTER JOIN,JOIN的使用

一、原题
View the Exhibit and examine the data in the PROJ_TASK_DETAILS table.

The PROJ_TASK_DETAILS table stores information about tasks involved in a project and the relation between them.
The BASED_ON column indicates dependencies between tasks. Some tasks do not depend on the completion of any other tasks.
You need to generate a report showing all task IDs, the corresponding task ID they are dependent on, and the name of the employee in charge of the task it depends on.
Which query would give the required result?
A. SELECT p.task_id, p.based_on, d.task_in_charge
        FROM proj_task_details p JOIN proj_task_details d
             ON (p.based_on = d.task_id);

B. SELECT p.task_id, p.based_on, d.task_in_charge
        FROM proj_task_details p LEFT OUTER JOIN proj_task_details d
             ON (p.based_on = d.task_id);

C. SELECT p.task_id, p.based_on, d.task_in_charge
        FROM proj_task_details p FULL OUTER JOIN proj_task_details d
             ON (p.based_on = d.task_id);

D. SELECT p.task_id, p.based_on, d.task_in_charge
        FROM proj_task_details p JOIN proj_task_details d
             ON (p.task_id = d.task_id);

答案:B

二、题目翻译
查看PROJ_TASK_DETAILS表的数据
PROJ_TASK_DETAILS表存储项目相关的任务与他们之间的关系的信息
BASED_ON列代表任务之间的依赖关系,有些任务不依赖于任何其他任务的完成。
要生成一个报表,显示所有任务的ID,依赖对应任务的ID,和它依赖任务负责的员工姓名。
哪个查询给出所需结果?

三、题目解析
A选项不正确,只显示有依赖任务的task_id。
B选项正确,是LEFT OUTER JOIN也就是左连表的所有task_id全部显示出来,如果右边表没有匹配的信息,则显示空。
C选项不正确,full outer join是全匹配,也就是p表中有,但d表中没有匹配的,和d表中有,p表中没有匹配的,都会显示出来,显示为null。
D选项不正确,关联列错误。

表连接的用法,详见:
        http://blog.csdn.net/holly2008/article/details/25704471

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值