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

RIGHT JOIN

RIGHT JOIN은 오른쪽 테이블의 모든 행을 반환하고, 왼쪽 테이블에서 일치하는 값이 있으면 해당 데이터를 함께 가져옵니다.

만약 일치하는 값이 없으면 왼쪽 테이블의 컬럼에는 NULL이 채워집니다.


RIGHT JOIN 문법

RIGHT JOIN 문법
SELECT columns
FROM table1
RIGHT JOIN table2
ON table1.column = table2.column;
  • 오른쪽 테이블: RIGHT JOIN 뒤에 오는 테이블
  • 오른쪽 테이블의 모든 행이 결과에 포함되며, 일치하지 않는 경우에도 NULL 값으로 표시됨

RIGHT JOIN 예시

아래 예시는 students 테이블과 enrollments 테이블을 RIGHT JOIN으로 결합한 예시입니다.

students

student_idname
1김민수
2이지은
3박서준
4최지민
5오세훈

enrollments

student_idclass_name
1Math
2History
3Science
6Art
7Economics
RIGHT JOIN 예제
SELECT students.name, enrollments.class_name
FROM students
RIGHT JOIN enrollments
ON students.student_id = enrollments.student_id;

쿼리 결과

nameclass_name
김민수Math
이지은History
박서준Science
NULLArt
NULLEconomics

student_id67인 수업(Art, Economics)은 학생 테이블에 해당 데이터가 없으므로 name 값이 NULL로 표시됩니다.


RIGHT JOIN 사용 시점

RIGHT JOIN은 다음과 같은 경우에 적합합니다.

  • 오른쪽 테이블의 모든 행을 반드시 보존해야 할 때
  • 왼쪽 테이블에 없는 데이터까지 포함해 누락 여부를 확인할 때
  • 오른쪽 테이블 중심으로 데이터를 분석하거나 리포트를 작성할 때

참고: SQLite는 RIGHT JOIN을 기본적으로 지원하지 않습니다. 이 경우 테이블 순서를 바꿔 LEFT JOIN을 사용하거나 서브쿼리로 우회할 수 있습니다.

다음 내용이 궁금하다면?

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