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

다중 테이블 Join

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

정규화된 데이터베이스에서는 관련 데이터를 서로 다른 테이블로 나누어 저장하기 때문에 다중 Join이 자주 사용됩니다.

참고: 대부분의 SQL 엔진에서 JOIN을 별도로 지정하지 않으면 기본값은 INNER JOIN입니다.


다중 테이블 Join 문법

다중 테이블 JOIN 문법
SELECT ...
FROM table1
JOIN table2 ON ...
JOIN table3 ON ...;
  • 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화학

아래 쿼리는 세 개의 테이블을 다중 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은 다음과 같은 상황에서 유용합니다.

  • 여러 테이블의 데이터를 합쳐 전체적인 뷰를 제공할 때
  • 정규화된 스키마에서 관련 데이터를 통합할 때
  • 다양한 문맥을 결합해 리포트나 대시보드를 만들 때

팁: 가독성을 높이기 위해 s, e, c 같은 짧은 별칭 대신 students, enrollments, classes처럼 설명적인 별칭(alias)을 사용하는 것이 좋습니다.

다음 내용이 궁금하다면?

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