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(+);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值