> 데이터 베이스 > MySQL 튜토리얼 > SQL에서 OUTER APPLY를 사용하는 시기와 방법: 실제 사례?

SQL에서 OUTER APPLY를 사용하는 시기와 방법: 실제 사례?

Mary-Kate Olsen
풀어 주다: 2025-01-10 08:33:42
원래의
141명이 탐색했습니다.

When and How to Use OUTER APPLY in SQL: Real-World Examples?

SQL의 OUTER APPLY 실제 적용 예

OUTER APPLY는 한 테이블의 행을 다른 테이블의 행과 연결할 수 있는 강력한 SQL 연산자입니다. INNER JOIN과 유사해 보이지만 특정 상황에서 고유한 기능을 제공합니다.

OUTER APPLY 사용 사례

다음은 OUTER APPLY의 가치를 입증한 실제 사례입니다.

그룹별로 처음 N개 행 쿼리:

예: 각 저장 프로시저의 처음 두 매개변수를 검색합니다.

<code class="language-sql">SELECT pr.name, pa.name
FROM sys.procedures pr
OUTER APPLY (
  SELECT TOP 2 *
  FROM sys.parameters pa
  WHERE pa.object_id = pr.object_id
  ORDER BY pr.name
) pa
ORDER BY pr.name, pa.name;</code>
로그인 후 복사

테이블 반환 함수 호출:

예: 외부 쿼리의 각 행에 대해 테이블 ​​반환 함수를 실행합니다.

<code class="language-sql">SELECT *
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle);</code>
로그인 후 복사

열 별칭 재사용:

예: 열 별칭을 재사용하여 여러 계산을 수행합니다.

<code class="language-sql">SELECT number,
  doubled_number,
  doubled_number_plus_one
FROM master..spt_values
CROSS APPLY (SELECT 2 * CAST(number AS BIGINT)) CA1(doubled_number)
CROSS APPLY (SELECT doubled_number + 1) CA2(doubled_number_plus_one);</code>
로그인 후 복사

여러 열 세트 반전:

예: 비정규화된 구조가 있는 테이블의 데이터를 역전합니다.

<code class="language-sql">CREATE TABLE T
(
  Id INT PRIMARY KEY,
  Foo1 INT, Bar1 INT,
  Foo2 INT, Bar2 INT,
  Foo3 INT, Bar3 INT
);

SELECT Id,
  Foo,
  Bar,
  GrpName
FROM T
CROSS APPLY (VALUES('1', Foo1, Bar1),
                     ('2', Foo2, Bar2),
                     ('3', Foo3, Bar3)) V(GrpName, Foo, Bar);</code>
로그인 후 복사

위 내용은 SQL에서 OUTER APPLY를 사용하는 시기와 방법: 실제 사례?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿