초급의 끄적거림

[ORACLE] OUTER JOIN (+) 본문

DB/Oracle

[ORACLE] OUTER JOIN (+)

codingD 2020. 7. 10. 17:33

오라클 아우터 조인 (OUTER JOIN)

  • INNER JOIN과 반대 되는 개념
  • 데이터가 공통적으로 양 쪽에 존재하지 않는다고 해도 조회가 가능하도록 하는 JOIN
    • Equi Join은 두 개의 테이블 중 한 쪽 컬럼에 값이 없다면 나머지 테이블의 값을 반환하지 못함
  • OUTER JOIN의 연산자 (오라클 한정) ☞ (+) 
  • (+) 은 양 쪽에 오지 못함
  • 조인 시, 값이 없는 쪽에 (+) 을 위치함
SELECT DISTINCT emp.deptno,dept.deptno AS 팀번호 FROM emp, dept 
WHERE emp.deptno(+) = dept.deptno;

--추가 조건절에도 (+) 붙여줘야함
SELECT DISTINCT emp.deptno,dept.deptno AS 팀번호 FROM emp, dept 
WHERE emp.deptno(+) = dept.deptno;
    AND emp.name(+) LIKE '김%';

 

발생할 수 있는 에러

  • ORA-01417: 하나의 테이블은 하나의 다른 테이블과 포괄 조인할 수 있습니다
    • 대상 테이블을 두 개 이상의 테이블과 동시에 OUTER JOIN을 할 때 발생함
  • [참고] https://ninearies.tistory.com/225

 

Comments