8장. 조인
SQLD (SQL 개발자) 필기 개념서 · 2과목. SQL 기본과 활용 · 절 7개
이 장에서 배우는 것
8-1. 조인과 EQUI 조인
조인은 두 개 이상의 테이블을 연결해 데이터를 조회하는 것이다. 한 번에 두 집합씩 결합하며, 테이블이 N개면 조인 조건이 최소 N−1개 필요하다.
8-2. NON-EQUI 조인
=가 아닌 BETWEEN, >, <= 등으로 연결하는 조인이다.
8-3. 3개 이상 테이블 조인
조인 조건 없이 FROM 사원, 부서, 급여등급만 쓰면 7 × 4 × 4 = 112행의 카티션 곱이 된다.
8-4. 표준 조인 — INNER·NATURAL·USING·ON
두 구문 모두 공통 칼럼 부서코드가 한 번만 나온다 → 칼럼 수 8 + 3 − 1 = 10개. Oracle은 공통 칼럼을 결과의 맨 앞에 둔다.
8-5. OUTER 조인
조인 조건을 만족하지 않는 행도 결과에 포함한다. 짝이 없는 쪽 칼럼은 NULL로 채운다.
8-6. CROSS 조인과 셀프 조인
CROSS JOIN: 조인 조건 없이 모든 조합(카티션 곱). SELECT COUNT(*) FROM 사원 CROSS JOIN 부서 → 7 × 4 = 28. WHERE 절 방식에서 조인 조건을 빠뜨려도 같은 결과가 된다.
8-7. OUTER 조인에서 조건 위치 — ON vs WHERE
②에서는 NULL로 채워진 행의 e.급여 >= 3500이 UNKNOWN이라 제거되어 결과가 INNER 조인과 같아진다.