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

LEFT JOIN

LEFT JOIN은 왼쪽 테이블의 모든 행과, 오른쪽 테이블에서 일치하는 행을 반환합니다.

일치하는 행이 없으면, 오른쪽 테이블의 컬럼에는 NULL이 채워집니다.


LEFT JOIN 문법

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

LEFT JOIN 구문
SELECT columns
FROM table1
LEFT JOIN table2
ON table1.column = table2.column;
  • 왼쪽 테이블은 먼저 나열된 테이블(table1)입니다.
  • 오른쪽 테이블에 일치하는 행이 없어도, 왼쪽 테이블의 모든 행이 포함됩니다.

Example: Students and Enrollments

아래는 students 테이블과 enrollments 테이블 간 LEFT JOIN 예시입니다.

students

student_idname
1김서준
2박지민
3이수민
4최윤서
5정민호

enrollments

student_idclass_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;

쿼리 결과:

nameclass_name
김서준수학
김서준과학
박지민역사
이수민NULL
최윤서NULL
정민호미술

이수민과 최윤서는 수강 내역이 없어도 결과에 포함됩니다.


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

LEFT JOIN은 다음과 같은 경우에 유용합니다.

  • 왼쪽 테이블의 모든 항목을 포함하고 싶을 때
  • 매칭되지 않은 레코드를 찾아야 할 때
  • 전체 목록 생성이 필요할 때(예: 구매 여부와 관계없이 모든 고객 목록)

다음 내용이 궁금하다면?

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