SQLP
시험 직전 요약장
판단 기준과 헷갈리는 개념, 대표 예제를 짧게 확인하세요.
LATERAL·APPLY 조인: 왼쪽 상관 참조와 Key별 Top-N
원래 이론 →판단 기준
- 주문이 없는 고객도 보여야 함:
OUTER APPLY - 최근 주문이 있는 고객만 필요함:
CROSS APPLY
문법 선택은 성능보다 먼저 결과 의미로 결정해야 합니다.
헷갈리는 개념
표를 좌우로 밀어 나머지 열을 확인하세요. 키보드: ←·→, Home·End
| 구분 | 핵심 역할 | 미매칭 왼쪽 행 보존 |
|---|---|---|
LATERAL | 오른쪽 Inline View에 왼쪽 상관 범위 부여 | 함께 사용한 Join 방식이 결정 |
CROSS APPLY | 왼쪽 상관 + Inner/Cross 계열 결합 의미 | 보존하지 않음 |
OUTER APPLY | 왼쪽 상관 + Left Outer 계열 결합 의미 | 보존함 |
따라서 다음 문장은 정확하지 않습니다.
예시·텍스트좌우로 이동해 전체 내용을 확인하세요. 키보드: ←·→, Home·End
LATERAL은 미매칭 왼쪽 행을 보존한다.
정확한 표현은 다음과 같습니다.
예시·텍스트좌우로 이동해 전체 내용을 확인하세요. 키보드: ←·→, Home·End
LATERAL은 상관 범위를 제공하고,
미매칭 행 보존 여부는 함께 사용한 Join 방식이 결정한다.
대표 계산·예제
왼쪽 i번째 행에 대해 오른쪽 결과 건수를 mᵢ라고 하면 다음처럼 계산할 수 있습니다.
예시·텍스트좌우로 이동해 전체 내용을 확인하세요. 키보드: ←·→, Home·End
CROSS APPLY 기여 행 수 = mᵢ
OUTER APPLY 기여 행 수 = max(1, mᵢ)
예를 들어 오른쪽 결과 건수가 차례로 2, 0, 1이면 다음과 같습니다.
예시·텍스트좌우로 이동해 전체 내용을 확인하세요. 키보드: ←·→, Home·End
CROSS APPLY 전체 행 수 = 2 + 0 + 1 = 3
OUTER APPLY 전체 행 수 = 2 + 1 + 1 = 4
OUTER APPLY가 오른쪽에서 항상 한 행만 반환하는 것은 아닙니다. 오른쪽에서 N행이 나오면 해당 왼쪽 행도 N행으로 증가합니다.
내 최근 연습 오답
현재 브라우저의 연습 채점 기록에서 공개된 단원과 연결된 오답을 확인합니다.
오답 기록을 확인하고 있습니다.