彻底搞懂Oracle的左外连接和右外连接(以数据说话)
url:http://blog.csdn.net/liuxiit/article/details/5791402
Employees表:
@H_301_8@ @H_301_8@Department表: @H_301_8@select e.last_name,e.department_id,d.department_name @H_301_8@from employees e @H_301_8@left outer join departments d @H_301_8@on (e.department_id = d.department_id); @H_301_8@from employees e,departments d @H_301_8@where e.department_id = d.department_id(+)左外连接 @H_301_8@结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录。 @H_301_8@right outer join departments dwhere e.department_id(+) = d.department_id;右外连接
@H_301_8@结果为:所有员工及对应部门的记录,包括没有任何员工的部门记录。 @H_301_8@总结: @H_301_8@A表right outer joinB表 @H_301_8@结果是:所有B表记录,及匹配的A表记录,A表未匹配上的显示null @H_301_8@A(+)=B @H_301_8@A表left outer join B @H_301_8@A=B(+) @H_301_8@结果是:所有A表记录,及匹配的B表记录,B表未匹配的显示null @H_301_8@经典总结: @H_301_8@有+号的表不全部显示,对面的表全部显示。口诀:
@H_301_8@ @H_301_8@右外连接+在左左外连接+在右
有+不全显
无+就全显