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 테이블 구조
실행 결과