"Oracle CROSS APPLY Join"의 두 판 사이의 차이
DB CAFE
(새 문서: <source lang=sql> SELECT department_name, employee_id, employee_name FROM departments d CROSS APPLY (SELECT employee_id, employee_name FROM employees e...) |
|||
(같은 사용자의 중간 판 2개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
+ | # 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 절의 컬럼을 왼쪽으로 참조 할 수 있음 | ||
+ | |||
<source lang=sql> | <source lang=sql> | ||
SELECT department_name, employee_id, employee_name | SELECT department_name, employee_id, employee_name | ||
8번째 줄: | 15번째 줄: | ||
ORDER BY 1, 2, 3; | ORDER BY 1, 2, 3; | ||
</source> | </source> | ||
+ | [[Category:oracle]] |
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;