Oracle语言的(+)是什么意思?是怎么用的,能不能详细解释下?

来源:百度知道 编辑:UC知道 时间:2024/06/07 09:56:48
select firstname, lastname
from student s, registration r,degreecourse d
where s.studentid = r.studentid(+)
and s.courseid = d.courseid(+)
and s.courseid is not null
and r.studentid is null
and s.datewithdrawn is null
and s.dategraduated is null

外连接:
a和b进行连接,如果要完全显示a,就在b条件上加一个(+),也就是说不带+的表完全显示
select * from emp e,dept d where e.deptno(+)=d.deptno;
因为我们给e.deptno带上一个(+),所以d表将会被完全显示也就是dept表会被完全显示
如果左侧的表完全显示我们就说是左外联接。
比如: Select * from tab1 t,tab2 r where t.aa=r.bb(+);
如果右侧的表完全显示我们就说是右外联接。
比如: Select * from tab1 t,tab2 r where t.aa(+)=r.bb;