emp.deptno(+)=dept.deptno
글쓴이: pty1026 / 작성시간: 수, 2014/04/23 - 5:15오후
여기서 (+)의 의미가 무엇인가요..
select ename,dept.deptno,loc,nvl(ename,0)
from emp, dept
where emp.deptno(+)=dept.deptno and ename is null;
이게 sql문인데 문제가 사원이 없는 부서를 출력하는것입니다.
emp 테이블에는 ename과 deptno가 있고
dept 테이블에는 dept와 loc가있습니다.
deptno는 10,20,30,40이있으면 40에는 아무값도 들어있지않습니다.
그리고 마지막에 ename is null은 왜해주는거죠?
Forums:
http://ko.wikipedia.org/wiki/
http://ko.wikipedia.org/wiki/Join_(SQL)
에 보시면 위의 "(+)=" 은 RIGHT OUTER JOIN의 오라클 표현이라고 되어 있습니다.
NVL 관련해서는 구글에 키워드를 "NVL 함수 SQL"로만 해도 NVL에 대한 설명을 쉽게 찾을 수 있습니다.
그렇게 해서 찾은 첫번째 링크입니다.
http://radiocom.kunsan.ac.kr/lecture/oracle/function/NVL.html
Signature :) - "여유를 갖고 행동하되 게을러지지 말자"
감사합니다!
outer join이었군요
NVL도 해결했습니다.
댓글 달기