[코비] 4.6 조인의 종류

최정윤·2023년 10월 5일
0

코비

목록 보기
21/38

JOIN이란?

JOIN은 데이터베이스 내에서 2개 이상의 테이블을 합쳐 SELECT를 하는 방법 중 하나입니다. 즉, 아래의 사진에서 A와 B라는 테이블을 합쳐 A와 B의 교집합 부분을 제외한 A와 B를 출력하던지, 교집합 부분을 출력하던지, 아니면 A와 B의 합집합을 출력하던지 등을 할 수 있습니다.

JOIN 주의사항

1) 테이블을 JOIN하려면 최소 1개 이상의 같은 컬럼을 가지고 있어야 한다.
2) 2개 이상의 테이블을 JOIN하기 때문에, 모든 컬럼의 참조는 명확하게 사용해야 한다.

  • 예를 들어, A와 B 컬럼을 조인하면 아래와 같이 테이블명과 컬럼을 명확하게 써야 한다.
SELECT A.COL
FROM A INNER JOIN B
ON A.KEY = B.KEY;

3) 기본적으로, 어떤 JOIN인지 사용하지 않으면 DEFAULT로 INNER JOIN을 사용한다.

4.6.1 내부 조인 (INNER JOIN)

  • INNER JOIN은 내부조인을 말한다.
  • 아래의 사진과 같이 A와 B라는 테이블이 있을 때 A 테이블과 B 테이블의 교집합을 말한다.
  • 즉, A값 전체와 A와 B 테이블의 KEY값이 같은 것들을 가져올 수 있다.
  • INNER JOIN을 하는 코드는 아래와 같다.
SELECT COLUMN
FROM A INNER JOIN B
ON A.KEY = B.KEY

4.6.2 왼쪽 조인 (LEFT JOIN)

  • LEFT JOIN은 왼쪽 조인이라고 한다.
  • 즉, A 테이블과 B 테이블이 있을 때, A 테이블 전체와 A테이블에서 B테이블의 교집합을 뺀 것으로 나뉜다.

1) A 테이블 전체 LEFT JOIN

  • 위의 경우에는 아래의 코드로 사용하면 된다.
SELECT COLUMN
FROM A LEFT JOIN B
ON A.KEY = B.KEY
WHERE A.KEY = B.KEY

2) A 테이블과 B 테이블의 교집합을 뺀 A 테이블 LEFT JOIN

  • 위의 경우에는 아래의 코드로 사용하면 된다.
SELECT COLUMN
FROM A LEFT JOIN B
ON A.KEY = B.KEY
WHERE B.KEY IS NULL

4.6.3 오른쪽 조인 (RIGHT JOIN)

  • RIGHT JOIN은 오른쪽 조인이라고 한다.
  • RIGHT JOIN은 A 테이블과 B 테이블이 있을 때, B 테이블 전체와 B 테이블에서 A 테이블과 B 테이블의 교집합을 뺀 것으로 나뉜다.

1) B 전체 RIGHT JOIN.

  • 위의 경우에는 아래의 코드로 사용하면 된다.
SELECT COLUMN
FROM A RIGHT JOIN B
ON A.KEY = B.KEY

2) B 테이블에서 A 테이블과 B 테이블의 교집합을 뺀 것.

  • 위의 경우에는 아래의 코드로 사용하면 된다.
SELECT COLUMN
FROM A RIGHT JOIN B
ON A.KEY = B.KEY
WHERE A.KEY IS NULL

4.6.4 합집합 조인 (OUTER JOIN)

  • OUTER JOIN은 외부 조인이라고 한다.
  • 아래의 사진과 같이 2가지로 나뉜다.
  • 첫 번째로, A 테이블과 B 테이블 합집합.
  • 두 번째로, A 테이블과 B 테이블 합집합에서 교집합을 뺀 것.

1) A 테이블과 B테이블 합집합.

  • 위의 경우에는 아래의 코드로 사용하면 된다.
SELECT COLUMN
FROM A OUTER JOIN B
ON A.KEY = B.KEY

2) A 테이블과 B 테이블 합집합에서 교집합을 뺀 것.

  • 위의 경우에는 아래의 코드로 사용하면 된다.
SELECT COLUMN
FROM A OUTER JOIN B
ON A.KEY = B.KEY
WHERE A.KEY IS NULL
AND B.KEY IS NULL

[참고링크]

profile
개발 기록장

0개의 댓글