MySQL - JOIN

정진우·2022년 6월 8일
0

TIL

목록 보기
54/54
post-thumbnail
post-custom-banner

JOIN이란?

SQL로 2개 이상의 테이블을 연결해 데이터를 조회하는 것
조인 칼럼은 연결 대상인 두 테이블에서 같은 값을 가진 칼럼이며,
두 테이블을 연결할 때 연결고리 역할을 한다.

JOIN의 특징

  • 조인하는 테이블에는 같은 값을 가진 칼럼이 있어야 한다.
  • 2개 이상의 테이블을 조인할 수 있다.
  • 조인할 때 테이블에 대한 별칭을 사용한다.
  • 조인 시 조인 조건이 필요하다.



JOIN의 종류

내부 조인(inner join)

  • 조인하는 테이블에서 조인 칼럼의 값이 같은 건을 조회하는 방법
  • INNER 생략 가능
SELECT ...
  FROM 테이블1 [AS] 별칭1 # 테이블1 -> 조인에 참여할 첫 번째 테이블(주요 테이블)
[INNER] JOIN 테이블2 [AS] 별칭2 # 테이블2 -> 조인에 참여할 두 번째 테이블
    ON 별칭1.칼럼1 = 별칭2.칼럼2 # ON 다음에는 조인 조건을 기술함
   AND ... # 조인 조건이 2개 이상이면 AND 연산자로 필요한 만큼 추가 가능
 WHERE ... ; # 조인 조건이 아닌 다른 조건



외부 조인(outer join)

  • 조인 칼럼의 값이 같은 건을 조회하면서 한쪽 테이블에 조인 칼럼의 값이
    같지 않은 건이 있으면 이 건까지 함께 조회

LEFT 조인

  • LEFT JOIN을 기준으로 왼쪽 테이블에서 조인 조건을 만족하지 않는 건을
    추가로 조회
  • OUTER 생략 가능
SELECT ...
  FROM 테이블1 [AS] 별칭1
  LEFT [OUTER] JOIN 테이블2 [AS] 별칭2
    ON 별칭1.칼럼1 = 별칭2.칼럼2
   AND ...
 WHERE ... ;

RIGHT 조인

  • RIGHT JOIN을 기준으로 오른쪽 테이블에서 조인 조건을 만족하지 않는 건을
    추가로 조회
  • OUTER 생략 가능
SELECT ...
  FROM 테이블1 [AS] 별칭1
 RIGHT [OUTER] JOIN 테이블2 [AS] 별칭2
    ON 별칭1.칼럼1 = 별칭2.칼럼2
   AND ...
 WHERE ... ;



자연 조인(natural join)

  • 조인 조건을 기술하지 않는다.
  • 조인에 참여하는 두 테이블의 조인 칼럼명과 데이터 타입이 같아야 한다.
  • NATURAL만 있거나 NATURAL INNER를 기술하면
    자연 조인 구문을 사용한 내부 조인을 의미
  • NATURAL LEFT 또는 NATURAL RIGHT를 사용하면
    자연 조인 구문을 사용한 외부 조인을 의미
SELECT ...
  FROM 테이블1 [AS] 별칭1
NATURAL [INNER|{LEFT|RIGHT} [OUTER]] JOIN 테이블2 [AS] 별칭2
 WHERE ... ;







Reference

더북 Let's Get IT SQL 프로그래밍

profile
프론트엔드 개발자를 꿈꾸는
post-custom-banner

0개의 댓글