🍏 개발일기/으쌰으쌰 SQLD 자격증 준비

JOIN

보배 진 2026. 2. 13. 17:10

조인은 두 개 이상의 테이블을 연결하여 데이터를 조회하는 기능입니다

 

JOIN의 필요성과 유형

관계형 데이터베이스에서는 정규화를 통해 데이터가 여러 테이블에 분산됩니다

JOIN을 통해 이러한 테이블을 연결하여 필요한 데이터를 가져올 수 있습니다

 

 

 

INNER JOIN (내부 조인)

SELECT 컬럼명
FROM 테이블1 [INNER] JOIN 테이블2
ON 테이블1.칼럼 = 테이블2.칼럼;

두 테이블에서 일치하는 값이 있는 행만 반환

 

 

 

 

OUTER JOIN (외부 조인)

일치하지 않는 행도 결과에 포함됩니다

🔹 LEFT OUTER JOIN : 왼쪽 테이블의 모든 행과 오른쪽 테이블의 일치하는 행을 반환

🔹 RIGHT OUTER JOIN : 오른쪽 테이블의 모든 행과 왼쪽 테이블의 일치하는 행을 반환

🔹 FULL OUTER JOIN : 두 테이블의 모든 행을 반환

 

 

 

CROSS JOIN (교차 조인)

SELECT *
FROM EMP CROSS JOIN DEPT;

두 테이블의 모든 행 조합(카테시안 곱)을 반환

 

 

 

SELF JOIN (셀프 조인)

SELECT E1.NAME AS EMPLOYEE, E2.NAME AS MANAGER
FROM EMPLOYEE E1 LEFT JOIN EMPLOYEE E2 
ON E1.MANAGER_ID = E2.EMP_ID

같은 테이블을 자기 자신과 조인

 

 

 

 

NATURAL JOIN

SELECT *
FROM EMP NATURAL JOIN DEPT;

공통 칼럼 이름을 자동으로 찾아 조인

 

 

 

USING 절

SELECT *
FROM EMP A JOIN DEPT B USING (DEPTNO);

공통 칼럼을 명시한다

 

 

 

카디널리티(Cardinality)와 성능

카디널리티는 칼럼의 유일한 값의 개수를 의미합니다

JOIN을 설계할 때 카디널리티를 고려하여 성능을 최적화할 수 있습니다