오라클 SQL · 조인과 서브쿼리

OUTER JOIN과 오라클 전통 조인 문법

실무에서는 매칭되지 않은 데이터도 보고 싶을 때가 많다. OUTER JOIN은 누락된 쪽을 NULL로 채워 결과에 남기며, 오라클 전통 `(+)` 문법도 시험에서 여전히 자주 등장한다.

OUTER JOIN과 오라클 전통 조인 문법 대표 이미지

이 글에서 꼭 잡아야 할 것

실무에서는 매칭되지 않은 데이터도 보고 싶을 때가 많다. OUTER JOIN은 누락된 쪽을 NULL로 채워 결과에 남기며, 오라클 전통 `(+)` 문법도 시험에서 여전히 자주 등장한다.

OUTER JOIN은 관계가 없는 데이터도 놓치지 않기 위한 문법이다. 예를 들어 부서 테이블을 기준으로 직원을 조회하면 직원이 없는 부서도 보고 싶을 수 있다. 이때 어떤 쪽을 보존할지 결정하는 감각이 가장 중요하다.

난이도 중급
모듈 조인과 서브쿼리
학습 시간 10분
핵심 키워드 LEFT JOIN, RIGHT JOIN, (+)

개념 지도와 이해 포인트

LEFT OUTER JOIN 왼쪽 테이블의 행을 기준으로 모두 남기고, 오른쪽에 매칭되는 값이 없으면 NULL로 채운다. 기준 집합을 보존하고 싶을 때 자주 사용한다.
RIGHT와 FULL RIGHT JOIN은 오른쪽 보존, FULL OUTER JOIN은 양쪽 모두 보존 개념이다. 시험에서는 LEFT와 RIGHT 방향을 바꿔 표현하는 문제가 자주 나온다.
오라클 전통 문법 전통 조인 문법에서는 조건절에 `(+)`를 붙여 외부 조인을 표현한다. 구식 문법이지만 시험 대비용으로 반드시 읽을 줄 알아야 한다.
OUTER JOIN과 오라클 전통 조인 문법 개념 다이어그램

대표 문법 패턴

SELECT d.department_name,
       e.last_name
FROM departments d
LEFT OUTER JOIN employees e
             ON d.department_id = e.department_id
ORDER BY d.department_name;

SELECT d.department_name, e.last_name
FROM departments d, employees e
WHERE d.department_id = e.department_id(+);

문법 읽는 포인트

  • LEFT JOIN은 왼쪽 테이블을 기준으로 모두 남긴다.
  • 오라클 전통 문법에서는 NULL로 보완될 쪽 컬럼에 `(+)`를 붙인다.
  • OUTER JOIN 결과는 매칭되지 않은 행이 포함되므로 NULL 해석이 중요하다.

핵심 용어

  • LEFT JOIN
  • RIGHT JOIN
  • (+)

직원이 없는 부서까지 함께 보기

OUTER JOIN은 단순히 행을 더 많이 보여주는 문법이 아니라, 기준 집합을 무엇으로 볼지 결정하는 설계 도구다. 보고 싶은 대상이 부서인지 직원인지 먼저 정하면 방향이 훨씬 명확해진다.

SELECT d.department_id,
       d.department_name,
       COUNT(e.employee_id) AS emp_count
FROM departments d
LEFT JOIN employees e
  ON d.department_id = e.department_id
GROUP BY d.department_id, d.department_name
ORDER BY d.department_id;

수험 체크포인트와 자주 하는 실수

시험 체크포인트

  • OUTER JOIN 문제는 어느 테이블을 보존하는지 먼저 표시해 두면 해석이 쉬워진다.
  • 전통 `(+)` 문법은 ANSI JOIN으로 바꿔 보는 연습이 큰 도움이 된다.
  • 외부 조인 뒤 COUNT 해석에서는 NULL 제외 특성을 함께 고려해야 한다.

자주 하는 실수

  • LEFT와 RIGHT 방향을 머릿속에서 뒤집어 해석하는 실수
  • OUTER JOIN인데 WHERE 조건으로 다시 NULL 보완 행을 제거해 버리는 실수
  • `(+)`를 잘못된 컬럼 쪽에 붙이는 실수

연결 학습

기본 조인과 외부 조인이 정리되면 다양한 조인 패턴을 확장할 수 있다. 다음 챕터에서는 SELF JOIN, CROSS JOIN, 비등가 조인을 다룬다.

댓글 0

작성자 이름과 댓글 내용을 입력하면 바로 등록됩니다. 답글은 한 단계까지 지원하고, 댓글은 최대 200자까지 작성할 수 있습니다.

일반 댓글 작성

댓글을 불러오는 중입니다.

같은 카테고리에서 이어서 읽기

지금 읽은 글과 가까운 흐름의 글 5개를 모아 두었습니다. 바로 앞뒤 문맥을 이어서 읽고 싶을 때 가장 편합니다.