RDB의 테이블 결합 (join)
RDB에서 두 개의 테이블을 하나로 결합하여 보여주는 것을 join이라고 한다. join 중에서도 실무에 가장 많이 쓰이는 기법으로 left (outer) join, inner join이 있다. 이것이 어떤 것인지 비교하면서 살펴보자!
join이란?
join의 기법에 대해 말하기 전에, join이 어떤 개념인지 간략하게 짚고 넘어가자. join은 RDB에서 두 개 이상의 테이블을 하나의 결과로 (테이블로) 보여주는 것을 말한다. 이렇게 합치는 과정에서 두 테이블의 차이를 어떻게 할 것이냐에 대한 논의가 left join, inner join 이다. 이것 말고도 다양한 기법들이 존재한다!
위 두 표를 하나의 표로 나타내기 위해선 어떻게 할 수 있을까?
left join
왼쪽의 테이블의 모든 행에 대해서 결합하는 것을 말한다. 쉽게 말해서, 두 테이블의 차이를 왼쪽 테이블을 기준으로 합치는 것을 말한다. 그럼, 왼쪽 테이블에는 있고, 오른쪽 테이블에는 없는 데이터는 어떻게 되나? 왼쪽을 기준으로 합치기 때문에 없다고 표시를 안 하는 것이 아니라, ‘없음’ 그 자체를 나타내는 null 값으로 표시한다.
inner join
두 테이블에 공통적으로 존재하는 데이터들을 결합하는 것을 말한다.
'CS > 데이터베이스' 카테고리의 다른 글
[CS - 데이터베이스] DB의 Index (0) | 2023.02.13 |
---|---|
[CS - 데이터베이스] Transaction과 Deadlock (0) | 2023.01.28 |
[CS - 데이터베이스] RDB와 NoSQL (2) | 2023.01.26 |
[CS - 데이터베이스] 관계형 데이터베이스의 관계 (1:1, 1:N, N:M) (0) | 2023.01.26 |
[CS - 데이터베이스] 데이터베이스 테이블 용어 정리 (0) | 2023.01.25 |