SQLP

시험 직전 요약장

판단 기준과 헷갈리는 개념, 대표 예제를 짧게 확인하세요.

이론 목록

Subquery Unnesting: Semi·Anti Join과 NOT IN NULL 정합성

원래 이론 →

판단 기준

혼동하기 쉬운 판단정확한 기준
EXISTS를 일반 Join으로 바꾸면 결과가 항상 같다오른쪽 중복이 있으면 일반 Join은 왼쪽 행을 증가시킬 수 있다
Semi Join은 오른쪽 중복을 모두 Sort해서 제거한다Join Method 자체가 존재 여부만 반환할 수 있으며 Plan에 따라 별도 Unique가 필요할 수도 있다
NOT IN과 NOT EXISTS는 모든 NULL 조건에서 같다Inner·Outer NULL에 따라 결과가 달라진다
Unnesting은 항상 Hash Join을 만든다NL·Hash·Merge Semi·Anti Join 등 여러 후보를 연다
Aggregate가 있으면 어떤 Subquery도 Unnesting되지 않는다일부 구조는 특수 Transformation이 가능하므로 실제 Plan을 본다
ROWNUM <= 1은 EXISTS를 항상 더 빠르게 한다존재 조건과 의미가 겹치고 공식 Unnesting 예외가 될 수 있다
UNNEST Hint는 어떤 Subquery도 강제로 Join 변환한다유효성 검사를 통과해야 하며 결과 보존이 불가능하면 적용되지 않는다
NOT IN의 Inner NULL만 제거하면 NOT EXISTS와 항상 같다Outer NULL과 복합 Tuple NULL 규칙도 확인한다
Semi Join은 반드시 Inner를 먼저 DISTINCT한다Join Method 자체가 첫 Match·존재 의미를 처리할 수 있다
IN·EXISTS가 OR 안에 있어도 항상 Semi Join이다일반 Semi Join Transformation 후보가 제한될 수 있다
Anti Join Plan이면 NULL 결과를 볼 필요가 없다일반 ANTI와 Null-Aware ANTI의 결과 규칙을 구분한다

이 부분의 원문 →

헷갈리는 개념

Hint목적
UNNEST유효성 검사를 통과한 Subquery에 Heuristic·Cost 검사 없이 Unnesting 시험
NO_UNNEST해당 Query Block의 Unnesting 중지
HASH_AJ·MERGE_AJUncorrelated NOT IN의 확장 Anti Join Unnesting 시험
QB_NAMEMain·Subquery Block 식별
LEADINGUnnesting 후 Join Order 실험
USE_NL·USE_HASHUnnesting 후 존재하는 Row Source의 Join Method 실험
이 부분의 원문 →

내 최근 연습 오답

현재 브라우저의 연습 채점 기록에서 공개된 단원과 연결된 오답을 확인합니다.

학습 기록 →

오답 기록을 확인하고 있습니다.