JOIN문이란?

INNER JOIN

Untitled

Untitled

-- INNER JOIN의 구조
-- 	SELECT 컬럼1, 컬럼2
-- 	FROM 테이블1 [INNER] JOIN 테이블2
-- 		ON 조인 조건
-- 	[WHERE 검색조건]

-- 2개의 테이블을 join할 경우
SELECT
	emp.emp_no
	,emp.first_name
	,emp.last_name
	,dp.dept_no
FROM employees emp
	INNER JOIN dept_emp dp
		ON emp.emp_no = dp.emp_no
WHERE
	dp.to_date >= NOW()
;

-- 3개의 테이블을 join 할 경우
SELECT
	emp.emp_id
	,emp.name
	,depte.dept_code
	,dept.dept_name
FROM employees emp
	INNER JOIN department_emps depte
		ON emp.emp_id = depte.emp_id
	INNER JOIN departments dept
		ON depte.dept_code = dept.dept_code
WHERE
	depte.end_at IS NULL
;

LEFT OUTER JOIN

Untitled

Untitled

-- LEFT OUTER JOIN의 구조
-- SELECT 컬럼1, 컬럼2 ...
-- FROM 테이블1
-- LEFT [OUTER] JOIN 테이블2
-- 		ON 조인 조건
-- WHERE 검색조건;

SELECT
	emp.emp_id
	,emp.name
	,deptm.dept_code
FROM employees emp
	LEFT JOIN department_managers deptm
		ON emp.emp_id = deptm.emp_id
WHERE
	deptm.end_at IS NULL
ORDER BY deptm.dept_code DESC
;

RIGHT OUTER JOIN