Oracle 左、右连接
+ 在等号 左边表示右连接 获取右表所有记录,即使左表没有对应匹配的记录。
+ 在等号 右边表示左连接 获取左表所有记录,即使右表没有对应匹配的记录。
例子:
select e.empno,e.name,d.deptno,d.dname,d.loc
from emp e,dept d
where e.deptno(+) = d.deptno
右连接
已知 emp表中没有40,dept表中有40,部门编号为40的没有员工。
使用右连接 from emp e right join dept d on e.deptno = d.deptno right join on 和 +在等号左边效果相同
会获取dept表的所有记录,即便emp中没有对应匹配的40部门的记录
select e.empno,e.ename,s.empno mgr_no,s.ename mgr_name
from emp e,emp s
where e.mrg = s.empno(+)
已知 empno 为7839 的没有mrg ,编号为7839的员工没有上司
左连接
会获取左表的所有记录,即便右表没有匹配的记录
左连接:以左表为基准
右连接:以右表为基准