어제 정리한 EQUI JOIN이 '서로 일치하는 데이터'만 찾는 과정이었다면, 오늘 배울 OUTER JOIN(외부 조인)은 '한쪽이라도 데이터가 있으면 놓치지 않겠다'는 의지가 담긴 조인입니다.
정보처리기사 시험에서는 조인 결과에 NULL값이 포함되는지 여부를 묻는 함정 문제로 자주 등장합니다. 핵심을 짚어보겠습니다.
목차
1. OUTER JOIN의 정의와 필요성
OUTER JOIN은 조인 조건에 만족하지 않는 행(매칭되는 짝이 없는 행)까지 결과에 포함시키는 조인 방식입니다. 짝이 없는 부분은 NULL로 채워지게 됩니다.
- 데이터 보존: 정보가 누락되지 않도록 기준이 되는 테이블의 모든 데이터를 보여주고 싶을 때 사용합니다.
- NULL값의 발생: 상대 테이블에 일치하는 값이 없으면 빈칸(NULL)으로 표시됩니다.
2. OUTER JOIN의 3가지 유형
어떤 테이블을 '기준'으로 삼느냐에 따라 세 가지로 나뉩니다.
- LEFT OUTER JOIN: 왼쪽 테이블의 모든 데이터를 보여주고, 오른쪽은 매칭되는 것만 보여줍니다.
- RIGHT OUTER JOIN: 오른쪽 테이블의 모든 데이터를 보여주고, 왼쪽은 매칭되는 것만 보여줍니다.
- FULL OUTER JOIN: 양쪽 테이블의 모든 데이터를 보여줍니다. 매칭되지 않으면 양쪽 모두 NULL이 발생합니다.
3. EQUI JOIN vs OUTER JOIN 핵심 비교
| 구분 | EQUI JOIN | OUTER JOIN |
| 결과 특징 | 교집합 (일치 행만) | 합집합 개념 (누락 행 포함) |
| 빈 공간 처리 | 해당 사항 없음 | 짝이 없으면 NULL 표시 |
| 주요 활용 | 정확한 관계 데이터 조회 | 미제출자, 미등록 부서 등 확인 |
4. 실전 SQL 예시: 누락된 정보 찾기
학생 테이블을 기준으로 성적 테이블을 조인해 보겠습니다. 시험을 보지 않은 학생(성적 테이블에 없는 학생)까지 모두 보고 싶을 때 LEFT OUTER JOIN을 사용합니다.
표준 SQL (LEFT OUTER JOIN)
SELECT A.이름, B.성적
FROM STUDENT A LEFT OUTER JOIN SCORE B
ON A.학번 = B.학번;
결과에서 성적 데이터가 없는 학생은 성적 컬럼에 'NULL'이 찍히게 됩니다.
5. 정처기 시험 함정 포인트 체크리스트
문제를 풀 때 아래 표현이 나오면 OUTER JOIN을 의심하세요.
- “조건에 만족하지 않는 튜플도 NULL을 사용하여 결과에 포함시킨다.”
- “특정 릴레이션의 모든 튜플을 보존하고 싶을 때 사용한다.”
- “LEFT, RIGHT, FULL 세 가지 형식이 존재한다.”
처음에는 LEFT와 RIGHT가 헷갈렸는데, '어떤 쪽의 데이터를 다 살릴 것인가'만 기억하니 더 간단해진 것 같습니다. 조인은 데이터 분석의 기본이니만큼 확실히 다지고 갑시다.
[정보처리기사 필기] EQUI JOIN 정의와 SQL 예시 핵심 정리
SQL을 공부하다 보면 JOIN이 여러 종류로 나뉘어 보여서 헷갈리기 시작합니다. 하지만 정보처리기사 시험에서 자주 나오는 흐름은 단순합니다. “두 테이블을 같은 값으로 연결한다”는 감각을
think.1prorich.com
'정보처리기사' 카테고리의 다른 글
| [정처기/C언어] scanf 함수 사용법 및 주의사항 | C언어 프로그래밍 언어 활용 (0) | 2026.01.12 |
|---|---|
| [정처기 필기] DAS vs NAS vs SAN 스토리지 특징 차이점 비교 정리 (0) | 2026.01.11 |
| [정보처리기사 필기] 화이트박스 vs 블랙박스 테스트 정리: 애플리케이션 테스트 기법 (0) | 2026.01.10 |
| [정보처리기사 필기] 프로시저, 트리거, 사용자 정의 함수 정리: 절차형 SQL 핵심 비교 (0) | 2026.01.09 |
| [정보처리기사 필기] EQUI JOIN 정의와 SQL 예시 핵심 정리 (0) | 2026.01.07 |
댓글