inner
joinleft outer
join / right outer
join / full outer
join 쿼리 예시
SELECT a.employee_id
, a.first_name || ' ' || a.last_name as emp_name
, b.department_id
, b.department_name
FROM employees a # 테이블마다 별칭 주기
INNER JOIN departments b # inner 생략 가능
ON a.department_id = b.department_id #조인 조건을 만족하는 데이터만 조회됨
조회 결과 :
해석 : 사번이 178번인 Kimberely Grant는 department_id 값이 NULL 이어서 조회가 되지 않음
쿼리 예시
SELECT a.employee_id
, a.first_name || ' ' || a.last_name as emp_name
, b.department_id
, b.department_name
FROM employees a # 테이블마다 별칭 주기
LEFT OUTER JOIN departments b # OUTER 생략 가능
ON a.department_id = b.department_id
쿼리 결과
해석: department_id 값이 NULL값이 사번이 178번 Kimberely Grant도 조회됨
쿼리 예시
SELECT a.employee_id
, a.first_name || ' ' || a.last_name as emp_name
, b.department_id
, b.department_name
FROM employees a # 테이블마다 별칭 주기
LEFT OUTER JOIN departments b # OUTER 생략 가능
ON a.department_id = b.department_id
쿼리 예시
# manager_id에 해당하는 사원명을 가져오기 위해 셀프조인 했음
SELECT a.employee_id
, a.first_name || ' ' || a.last_name as emp_name
, a.manager_id
, b.first_name || ' ' || b.last_name as manager_name
FROM employees a # 테이블마다 별칭 주기
INNER JOIN departments b # INNER 생략 가능
ON a.manager_id = b.employee_id