데이터 분석 기술 블로그

LEFT(OUTER) JOIN 절 본문

SQL/개념

LEFT(OUTER) JOIN 절

데이터분석가 이채은 2024. 9. 2. 09:00

예를 들어, 아래와 같은 두 개의 테이블이 있다고 가정해 봅시다.

employees 테이블 (직원 정보):

employee_id name department_id
1 John 101
2 Alice 102
3 Bob NULL

 

departments 테이블 (부서 정보):

department_id department_name
101 Sales
102 HR
103 Marketing

 

여기서 employees 테이블은 직원 정보를 담고 있고, departments 테이블은 부서 정보를 담고 있습니다. 각 직원은 부서에 속해 있는데, 그 정보는 department_id를 통해 관리됩니다.


LEFT(OUTER) JOIN이란?

LEFT (OUTER) JOIN왼쪽 테이블의 모든 행을 반환하고, 오른쪽 테이블에서 일치하는 데이터가 있으면 그 데이터를 함께 반환합니다. 만약 오른쪽 테이블에 일치하는 데이터가 없으면, 그 자리에는 NULL이 들어갑니다.

즉, 왼쪽 테이블에 있는 모든 데이터를 반환하면서, 오른쪽 테이블에 있는 데이터는 연결될 수 있으면 연결하고, 없으면 빈 값(NULL)으로 표시하는 방식입니다.


우리는 employees 테이블과 departments 테이블을 LEFT (OUTER) JOIN으로 결합해 각 직원의 이름과 그들이 속한 부서 이름을 출력하고 싶습니다.

SELECT employees.name, departments.department_name
FROM employees
LEFT JOIN departments
ON employees.department_id = departments.department_id;

 

name department_name
Jhon Sales
Alice HR
Bob NULL

 

  • John은 department_id가 101로, Sales 부서에 속해 있습니다.
  • Alice는 department_id가 102로, HR 부서에 속해 있습니다.
  • Bob은 부서 정보가 없기 때문에, 결과에 포함되지 않았습니다. 이처럼 INNER JOIN은 두 테이블 모두에서 일치하는 데이터만 가져옵니다. 만약 한쪽 테이블에 데이터가 없으면 해당 행은 결과에 포함되지 않습니다.

 

'SQL > 개념' 카테고리의 다른 글

CROSS JOIN 절  (0) 2024.09.05
FULL(OUTER) JOIN 절  (0) 2024.09.04
RIGHT(OUTER) JOIN 절  (0) 2024.09.03
INNER JOIN 절  (0) 2024.09.01
JOIN 절  (0) 2024.08.31