[DB] 조인 (JOIN)

·2025년 1월 7일

데이터베이스

목록 보기
11/22
post-thumbnail

조인(JOIN)이란?

  • 두 개 이상의 테이블을 서로 결합하여 하나의 결과를 만드는 것

내부 조인(INNER JOIN)

  • 두 테이블에서 일치하는 데이터만 반환
  • 일반적으로 키워드 없이 JOIN으로 사용하면 default로 INNER JOIN이 실행
SELECT A.column1, B.column2
FROM A
INNER JOIN B ON A.id = B.id;

왼쪽 외부 조인(LEFT OUTER JOIN)

  • 왼쪽 테이블의 모든 데이터를 반환하고, 오른쪽 테이블에 일치하는 데이터가 없으면 NULL을 반환
SELECT A.column1, B.column2
FROM A
LEFT OUTER JOIN B ON A.id = B.id;

오른쪽 외부 조인(RIGHT OUTER JOIN)

  • 오른쪽 테이블의 모든 테이터를 반환하고, 왼쪽 테이블에 일치하는 데이터가 없으면 NULL을 반환
SELECT A.column1, B.column2
FROM A
RIGHT OUTER JOIN B ON A.id = B.id;

합집합 조인(FULL OUTER JOIN)

  • 두 테이블의 모든 데이터를 반환하고, 일치하지 않는 데이터는 NULL을 반환
SELECT A.column1, B.column2
FROM A
FULL OUTER JOIN B ON A.id = B.id;

교차 조인(CROSS JOIN)

  • 두 테이블의 모든 가능한 행 조합(데카트르 곱)을 생성
  • 조인 조건을 지정하지 않아도 되며, 일반적으로 모든 조합을 조회할 때 사용
  • 결과 수는 A 테이블의 행 수 × B 테이블의 행 수
SELECT A.column1, B.column2
FROM A
CROSS JOIN B;

자기 조인(SELF JOIN)

  • 한 테이블을 기준으로 스스로 조인
  • 동일 테이블의 다른 행을 연결하기 위해 별칭(Alias)을 사용
SELECT E.name AS Employee, M.name AS Manager
FROM Employees E
LEFT JOIN Employees M ON E.manager_id = M.id;

0개의 댓글