Welcome to Our Website

SQL Server CTE (한국어)

요약:이 튜토리얼에서,당신은 당신에 대해 배울 것이 일반적인 표현 또는 CTE 에서 SQL 사용하여 서버WITHclause.

SQL Server 의 CTE 소개

CTE 는 공통 테이블 표현식을 의미합니다. CTE 을 정의할 수 있는 임시라는 결과는 세트를 사용할 수 있는 일시적으로 실행의 범위는 다음과 같은 명령문을SELECT,INSERT,UPDATE,DELETE또는MERGE.,

는 다음과 같습니다 일반적인 구문의 CTE 에서 SQL Server

Code language: SQL (Structured Query Language) (sql)

이 구문에서:

  • 첫 번째를 지정하는 표현 이름(expression_name)에 나중에 참조할 수 있는에서 쿼리를 수행합니다.
  • 다음으로 expression_name 뒤에 쉼표로 구분 된 열 목록을 지정하십시오. 열 수는CTE_definition에 정의된 열 수와 같아야 합니다.
  • 그런 다음 열 목록이 지정된 경우 표현식 이름 또는 열 목록 뒤에 AS 키워드를 사용하십시오.,
  • 후에 결과 집합이 공통 테이블 식을 채우는SELECT문을 정의하십시오.
  • 마지막으로,참조에게 일반적인 표현을 쿼리에(SQL_statement)같은SELECT,INSERT,UPDATE,DELETE또는MERGE.

우리가 사용하는 것을 선호하는 일반 테이블을 표현하기보다는 하위 사용하기 때문에 일반적인 표 식 더 읽을 수 있습니다., 우리는 또한 사용 CTE 에서 쿼리를 포함하는 분석 기능(또는 창수)

SQL Server CTE 예

자의 몇 가지 예를 사용하여 일반적인 표 식입니다.

A)간단한 SQL Server CTE 예

이는 쿼리를 사용 CTE 돌아 판매량 판매에 의해 직원에 2018:

다음과 같은 그림을 보여주는 결과를 설정:

이 예에서는 다음과 같습니다.

  • 첫 번째 정의cte_sales_amounts의 이름으로 일반적인 표현., CTE 결과를 반환하는 것으로 구성된 세 개의 열staff,year,andsales에서 파생된 정의 쿼리가 있습니다.
  • 두 번째,우리는 건설하는 쿼리를 반환하는 총 매출액 영업 직원에 의해 올해 데이터 쿼리에서orders,order_itemsstaffs테이블이 있습니다.
  • 셋째,외부 쿼리에서 CTE 를 참조하고 연도가 2018 인 행만 선택합니다.,

주목하는 이 예제는 전적으로 데모 목적으로 도움 당신은 점차적으로 이해하는 방법 일반적인 표 식 작동합니다. CTE 를 사용하지 않고 결과를 얻을 수있는보다 최적의 방법이 있습니다.

B)사용하여 일반적인 표현을 만들 보고서 평균에 따라 계산

이 예제에 사용 CTE 를 반환한 평균 판매 주문서에 2018 년에 대한 모든 판매의 직원이 있습니다.

출력은 다음과 같습니다.

Code language: SQL (Structured Query Language) (sql)

이 예에서는 다음과 같습니다.

첫째,우리가 사용하는cte_sales의 이름으로 일반적인 표현., Cte 의 열 목록을 건너 뛰었으므로 CTE 정의 문에서 파생됩니다. 이 예에서는staff_idorder_count열이 포함됩니다.

둘째,다음 쿼리를 사용하여 공통 테이블 표현식cte_sales를 채우는 결과 집합을 정의합니다. 이 쿼리는 영업 직원이 2018 년 주문 수를 반환합니다.

번째,우리가cte_sales외부에서 문을 사용하는AVG()기능이 평균 판매 주문에 의해 모든 직원이 있습니다.,

Code language: SQL (Structured Query Language) (sql)

C)사용하여 여러 SQL Server CTE 에서 하나의 쿼리를 들어

는 다음과 같이 두 가지 CTEcte_category_countscte_category_sales수를 반환하의 제품 판매를 위한 각 제품 카테고리입니다. 외부 쿼리는category_id열을 사용하여 두 개의 CTEs 를 조인합니다.,

결과 집합은 다음과 같습니다:

이 튜토리얼에서,당신은 어떻게 배웠을 사용하여 일반적인 테이블에 표현이나 CTE 에서 SQL 서버를 구성하는 복잡한 쿼리에서 이해하기 쉬운 방식이다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다