학습 자료

다중 테이블 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)을 사용하는 것이 좋습니다.

Quiz
0 / 1

관련 데이터를 가져오기 위해 SQL 쿼리에서 여러 테이블을 어떻게 연결하나요?

SQL에서는 연산을 사용하여 세 개 이상의 테이블을 Join할 수 있습니다.
UNION
JOIN
GROUP BY
DISTINCT

학습 자료

AI 튜터

디자인

업로드

수업 노트

즐겨찾기

도움말

코드 에디터

코드 실행
코드 생성

DB 테이블 구조

실행 결과