이너 조인(inner join)과 아우터 조인 (outer join)

Ki Tae Park·2022년 4월 10일

현업에서 쿼리를 짤 때 조인을 정말 많이 사용한다. 하지만 inner join 이나 outer join 등의 개념을 잘 모르고 사용해서 필요할 때만 잠깐 지식을 터득하고 지나가니 매번 소모적으로 시간을 쓰게 되는게 아쉬웠다,, 그래서 각 조인에 대해서 정리를 해보려고 한다.

목차

  • 조인의 개요
  • 내부, 외부 조인
  • 내부 조인 사용법
  • 외부 조인 사용법
  • 출처

조인의 개요

  • 조인(JOIN)은 두 개 이상의 테이블에 나누어져 저장된 정보를 한 개의 테이블처럼 사용하기 위해 연결하는 방법을 정의하는 것
  • 조인에 사용되는 기준 필드의 데이터 형식은 동일하거나 호환되어야함
  • 일반적으로 연결될 양 테이블 간에 관계가 설정되어 있어야 하지만 관계가 설정되지 않아도 조인을 수행할 순 있음
  • 조인에는 내부 조인외부 조인이 있고, 외부 조인은 왼쪽/오른쪽 외부 조인이 있음

내부 조인

  • 두 테이블에서 조인된 필드가 서로 일치하는 행만 보여줌
  • 가장 일반적인 조인 형태
  • (내부조인 예) 1, 3, 5 레코드가 보여짐

내부 조인 사용법

SELECT 필드이름
  FROM 테이블이름1 INNER JOIN 테이블이름2
    ON 테이블이름1.필드이름 = 테이블이름2.필드이름;

(왼쪽/오른쪽) 외부 조인

  • 왼쪽/오른쪽 테이블을 기준으로 하여 데이터를 보여줌
    • (왼쪽/오른쪽) 테이블에서는 있는 모든 레코드를 다 보여주고, 반대 테이블에선 조인된 필드가 일치하는 레코드만 보여줌
      • (왼쪽 외부 조인 예)왼쪽 테이블의 1, 2, 3, 4, 5 는 모두 보여지고, 오른쪽 테이블에선 1, 2, 3, 4, 5 와 일치하는 데이터인 1, 3, 5 만 보여짐
      • (오른쪽 외부 조인 예) 오른쪽 테이블의 1, 3, 5 는 모두 보여지고, 왼쪽 테이블에선 1, 2, 3, 4, 51, 3, 5 와 일치하는 데이터만 보여짐

외부 조인 사용법

  • 왼쪽
    (LEFT JOIN 키워드 앞서 위치한 테이블이름1 이 LEFT JOIN 됨. 즉 테이블이름1 의 모든 레코드가 보여지고 테이블이름2 은 테이블이름1 레코드와 일치하는 것만 보여짐)
SELECT 필드이름
  FROM 테이블이름1 LEFT JOIN 테이블이름2
    ON 테이블이름1.필드이름 = 테이블이름2.필드이름;
  • 오른쪽
    (RIGHT JOIN 키워드 뒤에 위치한 테이블이름1 이 RIGHT JOIN 됨. 즉 테이블이름2 의 모든 레코드가 보여지고 테이블이름1 은 테이블이름2 레코드와 일치하는 것만 보여짐)
SELECT 필드이름
  FROM 테이블이름1 RIGHT JOIN 테이블이름2
    ON 테이블이름1.필드이름 = 테이블이름2.필드이름;

출처

https://www.youtube.com/watch?v=l2iJKSygOXs

profile
#Coder Became Developer

0개의 댓글