논리적 joins #
논리적 join은 다시 아래의 네 가지로 나뉘어집니다. 오늘은 이 중에서 Inner Join에 대해 알아보겠습니다.
Inner Join #
내부조인은 두 테이블을 결합해 하나의 조인된 결과를 반환합니다.
두 테이블이 조인 될 때, 일치하는 값들만을 포함합니다.
join이란 #
-
RDB에서 join이란 정규화로 인해 나뉘어진 테이블에 대해 쿼리시 마치 하나의 테이블에서 데이터를 뽑아오듯이 테이블을 이어주는 역할을 한다.
- 정규화란 데이터베이스 설계에서 중복을 최소화하고 무결성을 지키기 위해 데이터 구조를 조정한 것을 의미함
join의 종류 #
join은 크게 두 가지로 나뉘어진다.
- 논리적 join
- 물리적 join
내부 join: Inner join #
내부 join은 두 테이블의 공통된 column을 기준으로 데이터를 결합합니다.
아래의 직원, 부서 테이블은 서로 공통된 column인 부서ID column이 있습니다.
테이블 1: 직원 #
직원ID | 이름 | 부서ID |
---|---|---|
1 | 홍길동 | 101 |
2 | 이순신 | 102 |
3 | 강감찬 | 103 |
테이블 2: 부서 #
부서ID | 부서명 |
---|---|
101 | 개발 |
102 | 마케팅 |
104 | 인사 |
두 테이블을 공통 column인 부서ID로 내부 Join(Inner Join)해보겠습니다.
SELECT 직원.직원ID, 직원.이름, 부서.부서명
FROM 직원
INNER JOIN 부서 ON 직원.부서ID = 부서.부서ID;
결과는 아래와 같습니다.
Inner Join 결과: 직원과 부서의 내부 조인 #
직원ID | 이름 | 부서명 |
---|---|---|
1 | 홍길동 | 개발 |
2 | 이순신 | 마케팅 |
마치며 #
join의 종류는 상당히 많고 깊이 들어가면 한도 끝도 없으므로 Inner Join에 대해서만 간단히 알아봤습니다.
하나의 article로 끝내기보단 join 중에서 논리, 물리 join을 하나씩 알아보도록 하겠습니다.