[SQL] SQL JOIN 정리하기

Sophie·2024년 10월 24일
post-thumbnail

[TIL] 2024-10-24 SQL JOIN 정리

JOIN (INNER, OUTER, CROSS, SELF)

  • INNER JOIN

    • 교집합
    • 내부조인
    • 조건: 두 테이블에 모두 해당 열의 데이터가 있어야 한다.
    • 그냥 조인이라고 부르면 보통 INNER JOIN 을 의미한다고 한다.*
      *실제 코드 작성 시에도 JOIN 만 쓰게 되면 → INNER JOIN 으로 적용
    • 기본 문법 구조
          SELECT 열이름
          FROM 테이블A
                  INNER JOIN 테이블B
                  ON 테이블A.조건열 = 테이블B.조건열 (조인 조건)
          WHERE 검색조건(필요 시)

  • OUTER JOIN

    • 합집합
    • 외부 조인
    • 조건: 외부 조인은 한쪽에만 데이터가 있어도 결과가 나옴
    • 기본 문법 구조
      SELECT 열이름
      FROM 왼쪽테이블이름
      		<LEFT | RIGHT | FULL> OUTER JOIN 오른쪽테이블이름
      		ON 조인 조건
      WHERE 검색 조건
    • OUTER JOIN 의 하위 종류
      • LEFT OUTER JOIN : 왼쪽 테이블의 모든 값
      • RIGHT OUTER JOIN : 오른쪽 테이블의 모든 값
      • FULL OUTER JOIN : 왼쪽 외부 조인 + 오른쪽 외부 조인 합
      • OUTER JOIN 세부 케이스

  • CROSS JOIN

    • 상호 조인
    • 카티션 곱 (CARTIESIAN PRODUCT) 라고 부름
    • 한쪽 테이블 모든 행 to 다른 쪽 테이블 모든 행을 조인시키는 기능
    • 조인 후 행 개수 = 테이블A 행 수 * 테이블B 행 수
    • 기본 문법 구조
      SELECT *
      FROM 테이블A
      		CROSS JOIN 테이블B

  • SELF JOIN

    • 자체 조인
    • 자기 자신과 조인, 별도 문법 없음
    • JOIN 후 한 개 테이블만 쓰면 자체 조인이 됨
    • 예시
      SELECT 열이름
      FROM <테이블> 별칭A
          INNER JOIN <테이블> 별칭B
      WHERE 검색 조건(필요시)

0개의 댓글