열정 실천

[SQLD] 004. SQL 기본 2 - JOIN의 종류 본문

CS/DATABASE

[SQLD] 004. SQL 기본 2 - JOIN의 종류

구운오니 2024. 11. 13. 15:48
728x90

| 07 | JOIN

 

각기 다른 테이블을 한 번에 보여줄 때 쓰는 쿼리 

 

⚠ JOIN되는 두 테이블에 모두 존재하는 컬럼의 경우 컬럼명 앞에 반드시 테이블명이나 ALIAS를 명시해주어야한다. 

 

 

 

 

EQUI JOIN

Equal (=) 조건으로 JOIN하는 방법

 

 

NON EQUI JOIN

Equal (=) 조건이 아닌 다른 조건 (BETWEEN, >, >=, <, <=)으로 JOIN하는 방법

 

* EQUI JOIN과 NON EQUI JOIN은 하나의 쿼리에서 같이 사용할 수 있다. 

 

 

LEFT OUTER JOIN

SQL에서 왼쪽에 표기된 테이블의 데이터는 무조건 출력되는 JOIN 

오른쪽에 데이터가 없는 ROW는 오른쪽 테이블 컬럼의 값이 NULL로 출력된다. 

 

오른쪽 테이블에 (+) 기호로 구문 생략 가능

 

RIGHT OUTER JOIN 

SQL에서 오른쪽에 표기된 테이블의 데이터는 무조건 출력되는 JOIN

왼쪽에 데이터가 없는 ROW는 오른쪽 테이블 컬럼의 값이 NULL로 출력된다. 

 

왼쪽 테이블에 (+) 기호로 구문 생략 가능

 

FULL OUTER JOIN

왼쪽, 오른쪽 테이블의 데이터가 모두 출력되는 방식

LEFT OUTER JOIN과 RIGHT OUTER JOIN 의 합집합

 

 

NATURAL JOIN

A테이블 B테이블에서 같은 이름을 가진 컬럼들이 모두 동일한 데이터를 가지고 있을 경우 JOIN이 되는 방식

 

 

CROSS JOIN

조합할 수 있는 모든 경우를 출력하는 방식 (M*N)

테이블 간 조인 조건이 없을 경우 CROSS JOIN이 실행된다.  

 

 

⚠ EQUI JOIN과 NATURAL JOIN 에서는 별칭(ALIAS)나 접두사(S.ID) 사용이 제한된다. 

 

 

 

728x90