[sql] SQL 데이터베이스 테이블 조인

SQL(Structured Query Language) 데이터베이스에서 테이블을 결합하는 것은 매우 중요합니다. 효율적인 데이터 검색 및 분석을 위해 여러 테이블 간의 관계를 설정해야 합니다. 이를 위해 데이터베이스에서는 조인(join)이라는 개념을 사용합니다.

1. 내부 조인(Inner Join)

내부 조인은 두 개 이상의 테이블 간의 일치하는 행을 연결하여 결과를 생성합니다. 이때, 일치하는 열을 기준으로 조인을 수행합니다.

예를 들어, employees 테이블과 departments 테이블에서 일치하는 사원 정보와 부서 정보를 얻기 위해 INNER JOIN을 사용할 수 있습니다.

SELECT employees.name, departments.name
FROM employees
INNER JOIN departments ON employees.department_id = departments.id;

2. 외부 조인(Outer Join)

외부 조인은 일치하지 않는 행도 결과에 포함시키는 조인 방식입니다. 주어진 조건에 부합하지 않는 행에도 결과를 출력하여 완전성을 유지합니다.

가령, 모든 부서 정보와 해당 부서의 사원 정보를 얻기 위해 LEFT OUTER JOIN을 사용할 수 있습니다.

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

3. 교차 조인(Cross Join)

교차 조인은 두 테이블 간의 모든 가능한 조합을 생성합니다. 이는 행이 급증하고 중복 결과가 생길 수 있어 사용에 주의해야 합니다.

SELECT *
FROM table1
CROSS JOIN table2;

요약

효율적인 데이터베이스 조회를 위해 테이블 간의 조인을 이해하는 것이 매우 중요합니다. 내부 조인, 외부 조인 및 교차 조인을 적절히 활용하여 원하는 결과를 얻을 수 있습니다.