[MySQL] 여러 테이블에 나눠져 있는 필요한 데이터들 불러오는 방법 : Join

정재현·2024년 1월 2일

MySQL

목록 보기
13/18
post-thumbnail

Join이란?

  • 조건을 기준으로 두 테이블을 합침
  • 엑셀의 Vlookup과 유사

Join 종류

Inner Join(내부 조인)

  • 두 테이블을 연결할 때 가장 보편적으로 사용하는 방법
  • Inner Join을 Join이라고만 써도 Inner Join으로 인식
  • Inner Join은 두 테이블에 모두 데이터가 있어야 결과가 나옴
  • 사용 방법
	SELECT < 목록>
	FROM < 번째 테이블>
	    INNER JOIN < 번째 테이블>
	    ON <조인 조건>
	WHERE <검색 조건>

Outer Join(외부 조인)

  • Outer Join은 한쪽에만 데이터가 있어도 결과가 가능
  • 사용 방법
	SELECT < 목록>
	FROM < 번째 테이블(LEFT 테이블)>
	    <LEFT | RIGHT | FULL> OUTER JOIN < 번째 테이블(RIGHT 테이블)>
	     ON <조인 조건>
	WHERE <검색 조건>
  • Outer Join의 종류
    • Left Outer Join : 왼쪽 테이블의 모든 값이 출력되는 조인
    • Right Outer Join : 오른쪽 테이블의 모든 값이 출력되는 조인
    • Full Outer Join : 왼쪽 또는 오른쪽 테이블의 모든 값이 출력되는 조인

Cross Join(상호 조인)

  • 한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인시키는 기능
  • Cross Join의 결과의 전체 행의 개수 = 두 테이블의 각 행의 개수를 곱한 수
  • 사용 방법
	SELECT *
	FROM < 번째 테이블>
	    CROSS JOIN < 번째 테이블>

Self Join(자체 조인)

  • 자기 자신과 Join
  • 사용 방법
	SELECT < 목록>
	FROM <테이블> 별칭A
	    INNER JOIN <테이블> 별칭B
	WHERE <검색 조건>


정리하기

  • 조인은 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것을 말한다.
  • Join을 할 때 on 뒤에 공통으로 묶는 컬럼의 데이터가 같을 경우, 그 데이터의 row데이터들을 묶어준다고 생각하면 됨.
  • INNER JOIN(내부 조인)은 두 테이블을 조인할 때, 두 테이블에 모두 지정한 열의 데이터가 있어야 한다.
  • OUTER JOIN(외부 조인)은 두 테이블을 조인할 때, 1개의 테이블에만 데이터가 있어도 결과가 나온다.
  • CROSS JOIN(상호 조인)은 한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인하는 기능이다.
  • SELF JOIN(자체 조인)은 자신이 자신과 조인한다는 의미로, 1개의 테이블을 사용한다.

profile
공부 기록 보관소

0개의 댓글