Oracle外链接(左右连接)

------------------------------------------------Oracle外链接(左右连接)----------------------------------------------------------

1.    右连接

当我们在做基本连接查询的时候,查询出所有的部门下的员工,我们发现编号为40的部门下没有员工,但是要求把该部门也展示出来,我们发现上面的基本查询是办不到的

使用(+)表示左连接或者右连接,当(+)在左边表的关联条件字段上时是左连接,如果是在右边表的关联条件字段上就是右连接。


范例:查询出所有员工的上级领导

分析:我们发现使用我们以前的做法发现KING的上级领导没有被展示,我们需要使用左右连接把他查询出来

代码示例:

select * from dept

select * from dept order by deptno asc

select * from emp e, dept d where e.deptno = d.deptno order by d.deptno asc

--查询出每一个部门的员工

--两张表做连接查询时其中一张表要查询全量数据(不会因为另一张的表的数据的关联而被筛选掉)

--在两张表关联的时候非全量表的关联字段后面加上(+)就可以做外链接查询

--左外链接查询的时候全量表在右边就是右连接

select * from emp e, dept d where e.deptno(+) = d.deptno;

--在做外链接查询的时候全量表在左端就是左连接,查询表名的位置和关联时候位置最好保持一致

select * from dept d, emp e where d.deptno = e.deptno(+);

--查询员工编号、姓名和上级领导编号、姓名

select e.empno, e.ename, e1.empno, e1.ename from emp e, emp e1 where e.mgr = e1.empno(+);

猜你喜欢

转载自blog.csdn.net/weixin_41547486/article/details/80465402