SQLD 2-1-7 Join

김희영·2026년 1월 20일

SQLD

목록 보기
18/27

JOIN

  • 여러 테이블 참조, 출력용
  • 보통 PK, FK로 조인함
  • A,B,C 테이블 조인시 A,B 하고 그 결과를 C와 하는 방식으로 진행됨

종류

조인 종류조인 조건특징ON / WHERE 필요주 사용 목적
EQUI JOIN=가장 일반적인 조인필요PK–FK 관계 연결
NON EQUI JOIN= 제외 (<, >, BETWEEN 등)범위 조건 조인필요구간·등급 매핑
INNER JOIN조건 일치조건 만족 행만 반환필요공통 데이터 조회
OUTER JOIN조건 불일치 포함NULL 포함 반환필요누락 데이터 포함
NATURAL JOIN자동 일치같은 이름 컬럼 자동 조인불필요빠른 간단 조인
CROSS JOIN없음데카르트 곱불필요경우의 수 생성
SELF JOIN자기 자신같은 테이블을 2번 사용필요계층·상하관계

EQUI JOIN

  • 테이블간 컬럼이 일치하는 경우 사용
  • 오라클 버전
SELECT * FROM 테이블1, 테이블2
WHERE 테이블1.컬럼 = 테이블2.컬럼
  • ANSI/ISO SQL 버전
SELECT * FROM 테이블1
INNER JOIN 테이블2
ON 테이블1.컬럼 = 테이블2.컬럼

NON EQUI JOIN

  • 테이블 간 컬럼이 일치하지 않을 때 사용
    -> 범위를 가지고 조회에 사용
SELECT 테이블1.이름, 테이블1.EXP, 테이블2.LEVEL 
FROM 테이블1, 테이블2
WHERE 테이블1.EXP BETWEEN 테이블2.최소EXP AN 테이블2.최대EXP

3개 이상의 테이블 조인

  • 조인을 여러개 써서 함 (예: 3개의 테이블이면 2번)

SELF JOIN

  • 같은 테이블에서 조인
  • 같은 컬럼이 2번 이상 나오니 AS로 구분하자
  • 이때, 기본적으로 INNER가 되어 null은 안 나오니 원한다면 OUTER 쓰자
profile
내는 반드시 개발자가 되고 말것어

0개의 댓글