[sql] 테이블 간의 관계에 따른 데이터 조회 방법

관계형 데이터베이스에서는 여러 테이블이 서로 연결돼 있을 때, 이러한 관계를 활용하여 데이터를 효과적으로 조회할 수 있습니다. 이러한 관계는 기본 키와 외래 키를 사용하여 정의됩니다. 다음은 다양한 테이블 간의 관계에 따른 데이터 조회 방법에 대해 설명합니다.

1. 일대다 관계

일대다 관계에서는 각각의 한 테이블 레코드가 다른 테이블의 여러 레코드와 연관됩니다. 이러한 경우에는 JOIN을 사용하여 관련 데이터를 함께 조회할 수 있습니다.

SELECT *
FROM 테이블1
JOIN 테이블2 ON 테이블1.외래키 = 테이블2.기본키;

2. 다대다 관계

다대다 관계에서는 한 테이블의 레코드가 다른 테이블의 여러 레코드와 연관되고, 그 역도 마찬가지입니다. 이러한 관계에서는 중간 테이블을 활용하여 관련 데이터를 조회합니다.

SELECT *
FROM 테이블1
JOIN 중간테이블 ON 테이블1.기본키 = 중간테이블.테이블1_기본키
JOIN 테이블2 ON 중간테이블.테이블2_기본키 = 테이블2.기본키;

3. 자체 참조 관계

자체 참조 관계에서는 테이블이 자신과의 관계를 가질 수 있습니다. 이러한 경우에는 같은 테이블을 JOIN하여 관련 데이터를 조회할 수 있습니다.

SELECT e1.사원이름, e2.상사이름
FROM 직원 e1
JOIN 직원 e2 ON e1.상사ID = e2.직원ID;

테이블 간의 관계에 따라 데이터를 효과적으로 조회하기 위해서는 각 테이블 간의 관계를 잘 이해하고, 이에 맞는 JOIN문을 작성해야 합니다.