[sql] LEFT JOIN을 활용한 데이터 정렬
데이터베이스에서 두 개의 테이블을 연결하여 데이터를 조회할 때, LEFT JOIN은 유용한 도구입니다. LEFT JOIN은 첫 번째 테이블의 모든 레코드와 두 번째 테이블에서 일치하는 레코드가 있는 경우 해당 레코드를 가져옵니다. 만약 두 번째 테이블에 일치하는 레코드가 없는 경우에도 첫 번째 테이블의 레코드는 결과에 포함됩니다.
LEFT JOIN의 구문
SELECT *
FROM 첫 번째_테이블
LEFT JOIN 두 번째_테이블 ON 첫 번째_테이블.매칭_컬럼 = 두 번째_테이블.매칭_컬럼;
위의 구문에서 LEFT JOIN
다음에 오는 두 번째_테이블은 첫 번째_테이블과 연결하고자 하는 테이블입니다. ON
다음에 오는 조건은 어떤 컬럼을 기준으로 두 테이블을 연결할 것인지를 명시합니다.
예제
예를 들어, employees
테이블과 departments
테이블이 있다고 가정해봅시다. employees
테이블은 모든 직원의 정보를 포함하고, departments
테이블은 각 부서의 정보를 포함합니다. 이때, 각 직원의 부서 정보를 함께 조회하고 싶다면 LEFT JOIN을 사용하여 다음과 같이 질의할 수 있습니다.
SELECT employees.name, departments.department_name
FROM employees
LEFT JOIN departments ON employees.department_id = departments.id;
위의 질의 결과로는 모든 직원의 이름과 해당하는 부서 이름이 함께 나타납니다.
LEFT JOIN은 첫 번째 테이블의 모든 레코드를 포함하면서 두 번째 테이블과의 연결을 시도합니다. 그 결과, 두 번째 테이블에 일치하는 레코드가 없더라도 첫 번째 테이블의 레코드가 결과에 포함되기 때문에 데이터 정렬에 유용하게 활용될 수 있습니다.