본문으로 건너뛰기
실습하기

다중 테이블 Join

하나의 SQL 쿼리에서 JOIN 연산을 여러 번 연결해 사용하면 세 개 이상의 테이블을 Join할 수 있습니다.

이는 정규화된 데이터베이스에서 관련 테이블로 데이터가 분리되어 있을 때 흔히 사용됩니다.

대부분의 SQL 데이터베이스에서 JOIN이라고만 쓰면 기본적으로 INNER JOIN으로 해석됩니다.


다중 테이블 Join 문법

다중 테이블 Join의 기본 문법은 다음과 같습니다.

다중 테이블 JOIN 문법
SELECT ...
FROM table1
JOIN table2 ON ...
JOIN table3 ON ...;

JOIN은 결과 집합에 테이블을 하나씩 추가로 연결합니다.

각 Join 조건(ON ...)에서 테이블 간의 관계를 명확히 정의해야 합니다.


다중 테이블 Join 예시

예를 들어, 다음과 같은 테이블이 있다고 가정해 보겠습니다.

students

student_idname
1지민
2서연
3민재
4나현
5도윤

enrollments

student_idclass_id
1A1
2A2
3A1
4A3
5A2

classes

class_idclass_name
A1수학
A2한국사
A3물리
A4화학

아래는 students, enrollments, classes 테이블을 다중 Join하는 예시입니다.

테이블 3개 Join
SELECT students.name, classes.class_name
FROM students
JOIN enrollments ON students.student_id = enrollments.student_id
JOIN classes ON enrollments.class_id = classes.class_id;

쿼리 결과:

nameclass_name
지민수학
서연한국사
민재수학
나현물리
도윤한국사

이 쿼리는 학생을 수강내역에 연결한 뒤, 해당 수강 정보를 과목명으로 매핑합니다.


다중 테이블 Join을 사용할 때는 어떠한 경우일까요?

다음과 같은 경우 다중 테이블 Join을 사용할 수 있습니다.

  • 서로 관련된 여러 테이블의 데이터를 합쳐 전체적인 뷰가 필요할 때
  • 정규화된 스키마에서 작업할 때
  • 문맥이 결합된 리포트를 만들어야 할 때

팁: 가독성을 위해 명확하고 설명적인 별칭(aliases)을 사용하세요.

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!