LEFT JOIN 결과 읽기

users의 모든 행은 남고, orders 매칭 개수만큼 결과가 늘어납니다.

LEFT JOIN은 왼쪽 테이블을 기준으로 결과를 만듭니다. 그래서 주문이 없으면 오른쪽 컬럼만 NULL이 되고, 주문이 여러 개면 같은 사용자 행이 여러 번 출력됩니다.

이 도표의 한 줄 요약
`FROM users`가 기준이므로 3명의 회원은 모두 결과에 남습니다. 차이는 오른쪽 orders가 몇 개 붙느냐입니다. 2개면 2행, 1개면 1행, 0개면 NULL을 가진 1행으로 나타납니다.
김철수 user_id = 1
이영희 user_id = 2
박민수 user_id = 3
LEFT JOIN u.user_id = o.user_id
매칭이 여러 개면 같은 users 행이 orders 개수만큼 반복됩니다.
매칭이 없으면 오른쪽 컬럼만 NULL로 채워진 채 행은 유지됩니다.
김철수 orders가 2건 매칭됨
2행으로 확장
김철수 | 1 | DELIVERED 김철수 | 2 | SHIPPED
이영희 orders가 1건 매칭됨
1행 유지
이영희 | 3 | PAID
박민수 orders 매칭이 없음
NULL 채움
박민수 | NULL | NULL
결론: LEFT JOIN의 핵심은 왼쪽 행 보존입니다. 그래서 결과 행 수는 최소한 users의 행 수만큼 나오고, 1:N 관계에서는 그보다 더 많아질 수 있습니다.