쿼리

하나 이상의 테이블에서 결과 집합을 검색합니다.

적용 대상:검사 '예'로 표시 Databricks SQL 검사 '예'로 표시 Databricks 런타임

구문

[ common_table_expression ]
  { subquery | set_operator }
  [ ORDER BY clause | { [ DISTRIBUTE BY clause ] [ SORT BY clause ] } | CLUSTER BY clause ]
  [ WINDOW clause ]
  [ LIMIT clause  ]
  [ OFFSET clause ]

subquery
{ SELECT clause |
  VALUES clause |
  ( query ) |
  TABLE [ table_name | view_name ]}

매개 변수

  • 공통 테이블 식

    CTE(공통 테이블 식)란 주 쿼리 블록 내에서 여러 번 다시 사용할 수 있는 하나 이상의 명명된 쿼리로, 반복되는 계산을 방지하거나 복잡한 중첩 쿼리의 가독성을 개선합니다.

  • subquery

    중간 결과 집합을 생성하는 여러 구문 중 하나입니다.

    • SELECT

      SELECT FROM WHERE 패턴으로 구성된 하위 쿼리입니다.

    • VALUES

      인라인 임시 테이블을 지정했습니다.

    • (query)

      set 연산자 또는 공통 테이블 식을 포함할 수 있는 중첩된 쿼리 호출입니다.

    • 테이블

      전체 테이블 또는 뷰를 반환합니다.

      • table_name

        반환할 테이블을 식별합니다.

      • view_name

        반환할 뷰를 식별합니다.

      테이블 또는 뷰를 찾을 수 없는 경우 Azure Databricks는 TABLE_OR_VIEW_NOT_FOUND 오류를 발생시킵니다.

  • set_operator

    UNION, EXCEPT, INTERSECT 연산자를 사용하여 하위 쿼리를 결합하는 구문입니다.

  • ORDER BY

    쿼리 전체 결과 집합의 행 순서입니다. 출력 행은 파티션 전체에서 정렬됩니다. 이 매개 변수는 SORT BY, CLUSTER BY, DISTRIBUTE BY와 양립할 수 없으며 함께 지정할 수 없습니다.

  • DISTRIBUTE BY

    결과 행을 다시 분할하는 식 집합입니다. 이 매개 변수는 ORDER BYCLUSTER BY와 양립할 수 없으며 함께 지정할 수 없습니다.

  • SORT BY

    각 파티션 내에서 행이 정렬되는 순서입니다. 이 매개 변수는 ORDER BYCLUSTER BY와 양립할 수 없으며 함께 지정할 수 없습니다.

  • CLUSTER BY

    행을 다시 분할하고 정렬하는 데 사용되는 식 집합입니다. 이 절을 사용하면 DISTRIBUTE BYSORT BY를 사용한 것과 효과가 있습니다.

  • LIMIT

    문 또는 하위 쿼리에서 반환할 수 있는 최대 행 수입니다. 이 절은 대부분 ORDER BY와 함께 사용하여 결정적 결과를 생성합니다.

  • OFFSET

    적용 대상:검사 '예'로 표시 Databricks SQL 검사 '예'로 표시 Databricks Runtime 11.3 LTS 이상

    명령문 또는 하위 쿼리에서 반환한 여러 행을 건너뜁니다. 이 절은 대부분 LIMIT와 함께 사용되어 결과 집합을 페이징하고, ORDER BY와 함께 사용되어 결정적 결과를 생성합니다.

    참고 항목

    LIMITOFFSET을 사용하여 결과 집합을 페이징할 때, 건너뛴 행은 여전히 처리됩니다. 이러한 행은 결과 집합에 표시되지 않습니다. 리소스 사용량이 많은 쿼리에는 이 기술을 사용한 페이지 매김을 사용하지 않는 것이 좋습니다.

  • WINDOW

    여러 윈도우 함수에서 공유할 수 있는 명명된 윈도우 사양을 select_query에 정의합니다.