INNER JOIN

-- 전 사원의 사번, 이름, 현재 급여를 출력해주세요.
SELECT 
	emp.emp_id
	,emp.`name`
	,sal.salary
FROM employees emp 
	JOIN salaries sal
		ON emp.emp_id = sal.emp_id
			AND sal.end_at IS NULL 
ORDER BY emp.emp_id
;

image.png

-- 3개 join 재직중인 사원의 사번, 이름, 생일, 부서명
-- 왼쪽에 가장 적은 용량의 테이블 넣기 
SELECT
	depe.emp_id
	,emp.`name`
	,emp.birth
	,dept.dept_name	
FROM department_emps depe
	JOIN departments dept
		ON depe.dept_code = dept.dept_code
			AND depe.end_at IS NULL
	JOIN employees emp
		ON depe.emp_id = emp.emp_id
			AND emp.fire_at IS NULL 
;

image.png

LEFT JOIN

SELECT 
	emp.emp_id
	,emp.`name`
	,sal.salary
FROM employees emp
	LEFT JOIN salaries sal
		ON emp.emp_id = sal.emp_id
			AND sal.end_at IS NULL 
;

image.png

RIGHT JOIN

SELECT
	emp.emp_id
	,emp.`name`
	,sal.salary
FROM employees emp
	RIGHT JOIN salaries sal
		ON emp.emp_id = sal.emp_id
;

image.png

FULL JOIN

image.png

SELECT *
FROM 
	employees emp
		LEFT JOIN title_emps title
			 ON emp.emp_id = title.emp_id
UNION
SELECT *
FROM 
	employees emp
		RIGHT JOIN title_emps title
			 ON emp.emp_id = title.emp_id
;