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_id | name |
---|---|
1 | 김민수 |
2 | 이지은 |
3 | 박서준 |
4 | 최지민 |
5 | 오세훈 |
enrollments
student_id | class_name |
---|---|
1 | Math |
2 | History |
3 | Science |
6 | Art |
7 | Economics |
RIGHT JOIN 예제
SELECT students.name, enrollments.class_name FROM students RIGHT JOIN enrollments ON students.student_id = enrollments.student_id;
쿼리 결과
name | class_name |
---|---|
김민수 | Math |
이지은 | History |
박서준 | Science |
NULL | Art |
NULL | Economics |
student_id
가 6
과 7
인 수업(Art
, Economics
)은 학생 테이블에 해당 데이터가 없으므로 name
값이 NULL
로 표시됩니다.
RIGHT JOIN 사용 시점
RIGHT JOIN
은 다음과 같은 경우에 적합합니다.
- 오른쪽 테이블의 모든 행을 반드시 보존해야 할 때
- 왼쪽 테이블에 없는 데이터까지 포함해 누락 여부를 확인할 때
- 오른쪽 테이블 중심으로 데이터를 분석하거나 리포트를 작성할 때
참고: SQLite는
RIGHT JOIN
을 기본적으로 지원하지 않습니다. 이 경우 테이블 순서를 바꿔LEFT JOIN
을 사용하거나 서브쿼리로 우회할 수 있습니다.
Quiz
0 / 1
SQL에서 RIGHT JOIN은 무엇을 반환하나요?
RIGHT JOIN은 테이블의 모든 행과, 다른 테이블에서 일치하는 행들을 함께 반환합니다.
왼쪽
오른쪽
둘 다
없음
학습 자료
AI 튜터
디자인
업로드
수업 노트
즐겨찾기
도움말
코드 에디터
코드 실행
코드 생성
DB 테이블 구조
실행 결과