Oracle语言的(+)是什么意思?是怎么用的,能不能详细解释下?
selectfirstname,lastnamefromstudents,registrationr,degreecoursedwheres.studentid=r.st...
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 展开
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;
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;
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |