✔️JOIN 이란?
JOIN 이란 두개 이상의 테이블을 결합하여 데이터를 검색하는 방법이다.
관계형 데이터베이스에서는 중복되는 데이터를 피하기 위해 테이블을 분해하여 여러 테이블에 데이터를 나눠 저장하는데 그러다 원하는 데이터를 얻기 위해서는 여러 테이블을 다시 조합해야할 필요가 생긴다.
그럴때 관계형 데이터베이스 JOIN 연산자를 사용한다.
JOIN에서는 내부조인 INNER JOIN 과 외부조인 OUTER JOIN으로 나눌 수 있다.
🔔내부 조인 INNER JOIN
내부조인의 안에는
CROSS JOIN, INNER JOIN, EQUI JOIN, NON-EQUI JOIN, NATURAL JOIN 이 있다.
1️⃣ CROSS JOIN
CROSS JOIN은 두 테이블을 그냥 곱한거라고 생각하면 된다.
2️⃣ INNER JOIN
INNER JOIN은 조인 조건문에 따라 2개의 테이블의 컬럼을 합쳐 새로운 테이블을 생성하는 것이다.
앞에서 교차조인한 결과에서 조인 조건문을 만족하는 레코드를 반환한 것이라고 생각하면 된다.
3️⃣ EQUI JOIN, NON-EQUI JOIN
등가 조인은 = 기호를 사용하는 조인을 의미하며, INNER JOIN과 결과가 같다.
비등가 조인은 =기호를 사용하지 않은 좋은으로, < , > 나 BETWEEN과 같은 비교를 사용하는 조인이다.
4️⃣ NATURAL JOIN
NATURAL JOIN은 칼럼명이 같은 기준으로 조인 조건문이 암시적으로 일어나는 내부 조인의 한 종류이다.
밑의 테이블에서 CUSTOMER_CD가 같은 결과로 NATURAL JOIN 결과가 나타난것을 확인할 수 있다.
🔔외부 조인 OUTER JOIN
OUTER JOIN 은 INNER JOIN이 조건문에 만족하는 행만 나타내는 조인이라면 OUTER JOIN은 조건문에 만족하지 않은 행도 표시해주는 조인이다.
따라서 조인을 했을 때 한쪽 테이블에 해당 데이터가 없다고 해도 조인 결과에 포함시키는 조인이다.
1️⃣ LEFT OUTER JOIN
왼쪽 외부 조인은 테이블 A에 대한 모든 데이터와 테이블 B와 매칭되는 레코드를 포함하는 조인이다.
2️⃣ RIGHT OUTER JOIN
오른쪽 외부 조인은 테이블 B의 모든 데이터와 테이블 A에 매칭되는 레코드를 포함하는 조인이다.
3️⃣ FULL OUTER JOIN
완전 외부 조인은 한마디로 왼쪽 외부 조인과 오른쪽 외부 조인을 합친거라고 생각하면 된다.