LEFT JOIN
LEFT JOIN은 왼쪽 테이블의 모든 행을 반환하고, 오른쪽 테이블에서 일치하는 행이 있으면 데이터를 가져오며, 일치하지 않는 경우 오른쪽 테이블의 컬럼에 NULL을 채웁니다.
왼쪽 테이블의 데이터를 기준으로 삼는다는 점이 핵심입니다.
LEFT JOIN 문법
LEFT JOIN의 문법은 다음과 같습니다.
LEFT JOIN 구문
SELECT columns FROM table1 LEFT JOIN table2 ON table1.column = table2.column;
table1: 왼쪽 테이블 (결과에 항상 포함됨)table2: 오른쪽 테이블 (조건이 맞는 경우에만 값이 채워짐, 없으면NULL)
예시: Students와 Enrollments
아래는 students 테이블과 enrollments 테이블을 LEFT JOIN으로 결합한 예시입니다.
students
| student_id | name |
|---|---|
| 1 | 김서준 |
| 2 | 박지민 |
| 3 | 이수민 |
| 4 | 최윤서 |
| 5 | 정민호 |
enrollments
| student_id | class_name |
|---|---|
| 1 | 수학 |
| 1 | 과학 |
| 2 | 역사 |
| 5 | 미술 |
LEFT JOIN 예시
SELECT students.name, enrollments.class_name FROM students LEFT JOIN enrollments ON students.student_id = enrollments.student_id;
쿼리 결과
| name | class_name |
|---|---|
| 김서준 | 수학 |
| 김서준 | 과학 |
| 박지민 | 역사 |
| 이수민 | NULL |
| 최윤서 | NULL |
| 정민호 | 미술 |
이수민과 최윤서처럼 수강 내역이 없는 학생도 결과에 포함되며, 해당 학생의 class_name 값은 NULL로 표시됩니다.
LEFT JOIN 사용 시점
LEFT JOIN은 다음과 같은 상황에서 유용합니다.
- 왼쪽 테이블의 모든 데이터를 기준으로 결과를 보고 싶을 때
- 매칭되지 않은 행을 포함해 누락 데이터를 분석해야 할 때
- 전체 목록을 생성하고, 연관 데이터가 없는 경우도 함께 보여야 할 때 (예: 구매 여부와 관계없이 모든 고객을 포함한 리스트)
Quiz
0 / 1
LEFT JOIN 연산에서는 오른쪽 테이블의 일치하지 않는 행이 해당 열에 NULL 값을 가진 채 결과에 포함된다.
○
✕
학습 자료
AI 튜터
디자인
업로드
수업 노트
즐겨찾기
도움말
코드 에디터
코드 실행
코드 생성
DB 테이블 구조
실행 결과