"Oracle CROSS APPLY Join"의 두 판 사이의 차이
DB CAFE
1번째 줄: | 1번째 줄: | ||
− | CROSS APPLY 조인은 ANSI CROSS JOIN의 변형입니다. | + | # Ansi SQL 구현(SQL1999 standard) |
− | + | # Cross apply => inner join , Outer apply => Left outer join | |
− | APPLY의 오른쪽은 FROM 절의 컬럼을 왼쪽으로 참조 할 수 | + | # Cross / Outer apply 사용시 lateral 키워드는 사용할수 없음 |
− | + | # CROSS APPLY 조인은 ANSI CROSS JOIN의 변형입니다. | |
+ | # 왼쪽 Join 테이블에서 모든 행을 리턴하며, 오른쪽 테이블 참조 또는 콜렉션 표현식에 의해 적어도 하나의 행이 리턴 | ||
+ | # APPLY의 오른쪽은 FROM 절의 컬럼을 왼쪽으로 참조 할 수 있음 | ||
<source lang=sql> | <source lang=sql> |
2023년 1월 30일 (월) 16:33 기준 최신판
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
- Ansi SQL 구현(SQL1999 standard)
- Cross apply => inner join , Outer apply => Left outer join
- Cross / Outer apply 사용시 lateral 키워드는 사용할수 없음
- CROSS APPLY 조인은 ANSI CROSS JOIN의 변형입니다.
- 왼쪽 Join 테이블에서 모든 행을 리턴하며, 오른쪽 테이블 참조 또는 콜렉션 표현식에 의해 적어도 하나의 행이 리턴
- APPLY의 오른쪽은 FROM 절의 컬럼을 왼쪽으로 참조 할 수 있음
SELECT department_name, employee_id, employee_name
FROM departments d
CROSS APPLY (SELECT employee_id, employee_name
FROM employees e
WHERE salary >= 2000
AND e.department_id = d.department_id)
ORDER BY 1, 2, 3;