일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 유시민
- 헤어질결심
- devexpress
- 개발자의품격4기
- 독서
- 글쓰기특강
- 문유석
- 토이프로젝트
- 책
- 글쓰기
- 어떻게살것인가
- 부자로은퇴하기
- 개발자의품격
- 부트캠프
- 개인주의자선언
- 짧은글쓰기
- 서평
- 조조칼국수
- 독후감
- 개발
- 리뷰
- 너나위
- vue
- 습관
- 이음글
- Project
- 돈그릇을키우는방법
- 전인구
- Book
- 전인구경제연구소
- Today
- Total
성장 (成長)
OUTER APPLY 에 대하여 본문
[구문 형식]
SELECT ..
FROM [외부 테이블]
CROSS | OUTER APPLY (SELECT .. FROM [내부 테이블] WHERE [조인 조건자])
[정의]
[CROSS APPLY]
내부 테이블(테이블 반환 함수)의 집합으로부터 조인 키로 결합한 외부 테이블의 행만을 반환합니다.
[OUTER APPLY]
내부 테이블(테이블 반환 함수)의 집합으로부터 조인 키에 결합한 외부 테이블의 행 + 그렇지 않은 행 전부를 반환합니다. 그렇지 않은 행에 열에는 NULL을 표시합니다.
[특징]
1. CROSS APPLY는 INNER JOIN, OUTER APPLY는 LEFT JOIN과 동일한 결과 집합을 반환할 수 있습니다.
2. JOIN과 동일한 결과 집합을 반환하더라도 상황에 따라 옵티마이저의 실행계획이 다를 수 있습니다.
[장점]
1. 오른쪽 서브 쿼리(내부 테이블)에 외부 테이블의 컬럼을 인자로 제공할 수 있습니다.
2. 테이블 반환 함수도 조인하여 사용할 수 있습니다.(JOIN연산자로는 불가능)
3. 특정 상황에는 JOIN보다 더 좋은 성능을 발휘할 수 있습니다.
(아래의 [OUTER APPLY 예제 2]처럼 APPLY와 TOP을 함께 사용하면 더욱 좋은 성능을 기대할 수 있습니다.)
출처: https://goldswan.tistory.com/16 [금백조의 개발 블로그:티스토리]
[MSSQL]CROSS APPLY, OUTER APPLY 활용 및 예제(APPLY 연산자)
서론 시스템 유지보수를 진행하면서 OUTER APPLY를 사용하는 쿼리를 접해본 적이 있습니다. 당시에는 LEFT JOIN과 동일한 결과를 반환할 수 있다는 정도만 알았었는데 이번 기회에 APPLY 연산자에 대해
goldswan.tistory.com
'일하다가 막혔던것들 > Msqql' 카테고리의 다른 글
자주쓰는쿼리 (0) | 2022.07.25 |
---|---|
[MSSQL] join 다이어그램 (0) | 2022.07.18 |
MSSQL DB 복사/생성 스크립트 만드는법 (0) | 2022.06.03 |