JOIN 개념

JOIN 기법

구분 내용 비고
Inner 2개의 테이블에서 Key 컬럼의 레코드가 일치 양쪽 테이블의 Column 모두 포함
(Full) Outer 2개의 테이블에서 Key 컬럼의 레코드가 일치하거나 한쪽에만 존재 한쪽에만 존재하는 컬럼의 레코드는 null로 표시
Left Outer - 왼쪽 테이블을 기준으로 key column의 레코드가 오른쪽 테이블에 존재

예제 데이터 생성

-- 1st table
CREATE TABLE team (
	num integer PRIMARY KEY, 
	name varchar(25));

-- 2nd table 
CREATE TABLE team_code (
	num integer PRIMARY KEY, 
	value varchar(5));

---- value insert
-- 1st table
INSERT INTO team (num, name) VALUES
	(1, 'Human Resource'),
	(2, 'Finance'),
	(3, 'Infra Service');

-- 2nd table 
INSERT INTO team_code (num, value) VALUES
	(1, 'HR'),
	(2, 'FIN'), 
	(5, 'DEV');

INNER JOIN

SELECT * FROM team 
	INNER JOIN team_code
	ON team.num = team_code.num;

LEFT OUTER JOIN

SELECT * FROM team
	LEFT JOIN team_code
	USING (num);

RIGHT OUTER JOIN