oracle sql92语法中的右连接简写符号为什么是:(+)=
如下面的sql
列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门.
SQL code
select d.dname,e.*
from emp e,dept d
where e.deptno(+) = d.deptno
这其中的(+)表示什么意思呢,为什么要这么写,为什么不写成e.deptno =(+) d.deptno呢。
------解决方案--------------------孩纸,你在还有很长的路要走,不要纠结为什么当初语法设计成这样,你只能理解为它就是这样。
------解决方案--------------------你记住少的那边需要用(+)就可以了。
------解决方案--------------------select d.dname,e.*
from emp e,dept d
where e.deptno(+) = d.deptno
emp表中有的deptno ID的数据 而dept 表中却没有
------解决方案--------------------1 那个少就写上(+),或者?边要全部显示就写 ?jion
2 不推荐用(+),这是oracle 的方言,用 ?jion 符合SQL 规范
------解决方案--------------------(+)=
right join
=(+)
left join