본문 바로가기
  • BLG-ZYNGIROK-모토-꿈꾸며-배우고-나누며-이루다
ICT/SQL

SQL 문법 | 데이터 조회 및 필터 | JOIN

by dazwischen 2021. 8. 29. 17:55
반응형

SQL 문법 데이터 조회 필터 JOIN

SQL 서버에서는 모든 데이터를 한 테이블에 저장하지 않고 데이터의 속성별로 분리하여 관리한다. 따라서 여러 테이블에 걸쳐 연결된 데이터를 보기 위해선 합쳐주는 작업이 필요하다. 그 기능이 바로 JOIN 이다.

01. INNER JOIN

SQL 문법 데이터 조회 필터 INNER JOIN

각 테이블이 갖고 있는 공통 데이터를 기준으로 테이블을 매칭시킨다.

SELECT 	A.COL01, A.COMMON_COL
FROM	TABLE01 A
INNER JOIN	TABLE02 B ON A.COMMON_COL = B.COMMON_COL
;

COMMON_COL은 두 테이블이 공통으로 갖고 있는 칼럼이름이다. INNER JOIN 다음에 매칭시킬 테이블 이름을 써주고 ON 뒤에 양 테이블의 어떤 칼럼들이 같은지를 표시해준다.

02. JOIN 특징

INNER JOIN은 JOIN 기능의 기본 기능으로 INNER를 생략하고 사용해도 된다. 다시 말해서 JOIN의 기본값은 INNER JOIN이다.

SELECT 	A.COL01, A.COMMON_COL
FROM	TABLE01 A
INNER JOIN TABLE02 B ON A.COMMON_COL = B.COMMON_COL
;

SELECT 	A.COL01, A.COMMON_COL
FROM	TABLE01 A
JOIN 	TABLE02 B ON A.COMMON_COL = B.COMMON_COL
;

위의 두 쿼리는 정확히 일치한다.

 

JOIN은 여러번 사용이 가능하다.

SELECT	A.COL01, A.COMMON_COL01, A.COMMON_COL02
FROM	TABLE01 A
JOIN	TABLE02 B ON A.COMMON_COL01 = B.COMMON_COL01
JOIN	TABLE03 C ON A.COMMON_COL02 = C.COMMON_COL01
;

 

03. OUTER JOIN

SQL 문법 데이터 조회 필터 OUTER JOIN

두 가지 테이블을 붙일 때 양 쪽 데이터가 모두 존재 하지 않을 때가 있다. 이럴 때 한쪽 데이터는 모두 보여주고 다른 쪽은 매칭되는 것이 있을 때만 보여주는 방식이 OUTER JOIN방식이다. 이 때 메인 테이블을 기준으로 할 지 JOIN으로 매칭시키는 테이블을 기준으로 할지를 LEFT (왼쪽)과 RIGHT (오른쪽)으로 구분해 준다.

메인 쿼리의 테이블이 기준 일 경우 JOIN으로 매칭시키는 테이블이 기준 일 경우
LEFT JOIN RIGHT JOIN
SELECT	A.COL01, A.COMMON_COL
FROM	TABLE01 A
LEFT JOIN TABLE02 B ON A.COMMON_COL = B.COMMON_COL
;

SELECT A.COL01, A.COMMON_COL
FROM	TABLE01 A
RIGHT JOIN TABLE02 B ON A.COMMON_COL = B.COMMON_COL
;
반응형

댓글