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

RIGHT JOIN

RIGHT JOIN은 오른쪽 테이블의 모든 행을 반환하고, 여기에 왼쪽 테이블과 일치하는 행이 있으면 함께 반환합니다.

일치하는 행이 없으면 왼쪽 테이블의 컬럼 값은 NULL이 됩니다.


RIGHT JOIN 문법

RIGHT JOIN의 문법은 다음과 같습니다.

RIGHT JOIN 문법
SELECT columns
FROM table1
RIGHT JOIN table2
ON table1.column = table2.column;
  • 오른쪽 테이블은 RIGHT JOIN 뒤에 옵니다.
  • 오른쪽 테이블의 모든 행이 결과에 나타나며, 일치하지 않아도 포함됩니다.

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

ArtEconomics 수업에는 일치하는 학생이 없어서 name 값이 NULL입니다.


RIGHT JOIN은 어떠한 경우에 사용될까요?

RIGHT JOIN은 다음과 같은 경우에 사용하세요.

  • 오른쪽 테이블의 모든 행을 반드시 보존해야 할 때
  • 왼쪽 테이블에서 누락되었거나 일치하지 않는 데이터를 식별할 때
  • 감사나 리포팅 관점에서 오른쪽 테이블이 더 중요할 때

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

다음 내용이 궁금하다면?

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