首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

oracle sql92语法中的右连接简写符号为什么是:(+)=,该怎么处理

2012-03-30 
oracle sql92语法中的右连接简写符号为什么是:(+)如下面的sql列出部门名称和这些部门的员工信息,同时列出

oracle sql92语法中的右连接简写符号为什么是:(+)=
如下面的sql 
列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门.

SQL code
select d.dname,e.*from emp e,dept dwhere 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

热点排行