Join 연산이란 두 개 이상의 테이블들을 연결 또는 결합하여 데이터를 출력하는 것을 말한다.
Join operations takes two relations and return as a result another relation
Join은 크게 세 종류로 나누어 보자면,
Natural join,
Inner join,
Outer join이 있다.
Inner Join은 join 조건에서 값이 일치하는 행만 반환,
Outer Join은 join 조건에서 한 쪽 값이 없더라도 행을 반환한다.
Inner Join부터 알아보자.
- Inner Join (내부 조인)
내부 조인은 가장 많이 사용되는 조인 구문 중 하나다. 내부 조인은 조인 condition에 따라 2개의 테이블(A,B)의 컬럼을 합쳐 새로운 테이블을 생성한다.
2. Outer Join (외부 조인)
1) Left Join (Left Outer Join)
조인 수행시 먼저 표기된 좌측 테이블에 해당하는 데이터를 먼저 읽은 후, 우측 테이블에서 JOIN 대상 데이터를 읽어온다.
우측 테이블에서 만족하는 데이터가 없는 경우 NULL값으로 채운다.
2) Right Join (Right Outer Join)
오른쪽 테이블을 중심으로 왼쪽 테이블을 매치시킨다. left join의 반대다.
좌측 테이블에서 만족하는 데이터가 없는 경우 NULL값으로 채운다.
3) Full Join (Full Outer Join)
Full join은 지원하지 않는 db가 많기 때문에, UNION 함수를 사용해서 full join을 대체하여 사용하는 경우가 많다.
양쪽 테이블에 있는 데이터 중 빈 값은 모두 NULL로 채운 뒤 모든 데이터를 보여준다.
3) Naturl Join (자연 조인)
각 테이블의 row마다 같은 컬럼에, 같은 값이 있을 경우 해당 열을 Join한다.
Natural Join에서는 같은 이름을 가진 모든 칼럼들에 대해서 Join이 이루어지지만,
using 조건절을 이용하면 같은 이름을 가진 칼럼들 중에서, 특정 칼럼에 대해서만 선택적으로 Equi Join 실행
단, MS SQL Server에서는 지원하지 않는다.
'SKKU SW > Database' 카테고리의 다른 글
[DataBase] unique key, primary key (0) | 2024.03.06 |
---|---|
[DataBase] subquery 서브쿼리 (1) | 2024.03.06 |
[DataBase] PostgreSQL 설치 & 명령어 (0) | 2024.03.03 |