역할 별칭과 입력 크기가 두 JOIN의 안전 기준이다
같은 컬럼 집합을 두 번 읽는 자기 참조와 ON 없이 곱을 만드는 CROSS JOIN을 코드에서 명시적으로 구분합니다.
| 패턴 | 필수 표현 | 결과 크기 |
|---|---|---|
| SELF JOIN | reply · parent 역할 별칭 | 관계가 있는 쌍 |
| LEFT SELF JOIN | parent_id = parent.id | 최상위도 보존 |
| CROSS JOIN | ON 없음이 의도임을 명시 | M × N |
| ON 누락 | 관계 JOIN에서 실수 | 예상 밖 곱 |
핵심: 우연한 ON 누락은 의도한 CROSS JOIN이 아니며 실행 전 M×N 결과 크기를 계산해야 합니다.