emp.deptno(+)=dept.deptno

pty1026의 이미지

여기서 (+)의 의미가 무엇인가요..

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은 왜해주는거죠?

yhsuk의 이미지

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 :) - "여유를 갖고 행동하되 게을러지지 말자"

pty1026의 이미지

outer join이었군요
NVL도 해결했습니다.