본문 바로가기
  • 개발공부 및 일상적인 내용을 작성하는 블로그 입니다.
이론/데이터베이스

DB - Join

by 방구석 대학생 2022. 1. 28.

 

Join

두 개 이상의 테이블이나 데이터베이스를 연결하여 데이터를 검색하는 방법이다.

- 테이블을 연결하려면 적어도 하나의 컬럼을 서로 공유하고 있어야 하므로, 이를 이용하여 데이터 검색에 활용한다.

 

Join 의 종류

- INNER JOIN (내부 조인)

- LEFT OUTER JOIN (왼쪽 외부 조인)

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

- FULL OUTER JOIN (전체 외부 조인)

- CROSS JOIN (교차 조인)

- SELF JOIN (자체 조인)

 

 

INNER JOIN (내부 조인)

 

두 테이블간의 교집합으로, 기준 테이블과 join 테이블의 중복된 값을 보여준다.

즉, 둘 이상의 테이블에 존재하는 공통 속성의 값이 같은 것을 결과로 추출해준다.

 

예시

SELECT
A.NAME, B.AGE
FROM EX_TABLE A
INNER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP

 

LEFT OUTER JOIN (왼쪽 외부 조인)

 

기준 테이블 값과 조인 테이블과 중복된 값을 보여준다. (왼쪽 테이블을 기준으로 JOIN 을 수행한다.)

즉, 왼쪽 테이블의 Tuple 들은 조건에 부합하지 않더라도 모두 결합되어 결과로서 출력된다는 것이다.

(오른쪽 테이블은 조건에 맞는 것만 추출된다.)

SELECT
A.NAME, B.AGE
FROM EX_TABLE A
LEFT OUTER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP

 

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

 

기준 테이블 값과 조인 테이블과 중복된 값을 보여준다. (오른쪽 테이블을 기준으로 JOIN 을 수행한다.)

즉, 오른쪽 테이블의 Tuple 들은 조건에 부합하지 않더라도 모두 결합되어 결과로서 출력된다는 것이다.

(왼쪽 테이블은 조건에 맞는 것만 추출된다.)

SELECT
A.NAME, B.AGE
FROM EX_TABLE A
RIGHT OUTER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP

 

FULL OUTER JOIN (전체 외부 조인)

두 테이블 간의 합집합이다.

즉, A 와 B 테이블의 모든 데이터가 검색된다.

SELECT
A.NAME, B.AGE
FROM EX_TABLE A
FULL OUTER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP

 

CROSS JOIN (교차 조인)

 

모든 경우의 수를 전부 표현해주는 방식이다.

A가 3개, B가 4개이면 총 3*4 = 12 개의 데이터가 검색된다.

SELECT
A.NAME, B.AGE
FROM EX_TABLE A
CROSS JOIN JOIN_TABLE B

 

SELF JOIN (자체 조인)

 

자기 자신과 자기 자신을 조인하는 것이다.

하나의 테이블을 여러번 복사해서 조인한다고 생각하면 편하다.

자신이 가지고 있는 컬럼을 다양하게 변형시켜 활용할 때 자주 사용한다.

SELECT
A.NAME, B.AGE
FROM EX_TABLE A, EX_TABLE B

 

 

 

참고 : https://gyoogle.dev/blog/

 

👨🏻‍💻 Tech Interview

 

gyoogle.dev

 

'이론 > 데이터베이스' 카테고리의 다른 글

DB - 정규화(Normalization)  (0) 2022.01.28
DB - 인덱스(Index)  (0) 2022.01.28
DB - 이상(Anomaly)  (0) 2022.01.28
DB - SQL vs NOSQL  (0) 2022.01.28
DB - Key  (0) 2022.01.27