다음을 통해 공유


SELECT 절

적용 대상:체크표시됨 예 Databricks SQL 체크표시됨 예 Databricks Runtime

식 실행, 집계 및 중복 제거를 포함하여 하위 쿼리에서 반환할 열을 수집합니다.

통사론

SELECT [ hints ] [ ALL | DISTINCT ] { named_expression | star_clause } [, ...]

매개 변수

  • 힌트

    힌트는 Azure Databricks 최적화 프로그램이 더 나은 계획 결정을 내리는 데 도움이 됩니다. Azure Databricks는 조인 전략 선택 및 데이터 다시 분할에 영향을 주는 힌트를 지원합니다.

  • 모두

    테이블 참조에서 일치하는 모든 행을 선택합니다. 기본적으로 사용하도록 설정됩니다.

  • 별개

    결과에서 중복 항목을 제거한 후 테이블 참조에서 일치하는 모든 행을 선택합니다.

  • 명명된_표현

    선택적으로 할당된 이름을 가진 식입니다.

    • 값으로 계산되는 하나 이상의 값, 연산자 및 SQL 함수의 조합입니다.

    • 열_별칭

      식 결과의 이름을 지정하는 선택적 열 식별자입니다. 제공된 column_alias 없는 경우 Databricks SQL은 하나를 파생합니다.

  • star_clause

    FROM 절의 모든 참조 가능한 열을 이름 지정하거나 FROM 절의 특정 테이블 참조의 열 또는 필드를 이름 지정하는 데 사용하는 약식입니다.

예제

-- select all referencable columns from all tables
> SELECT * FROM VALUES(1, 2) AS t1(c1, c2), VALUES(3, 4) AS t2(c3, c4);
  1   2   3   4

-- select all referencable columns from one table
> SELECT t2.* FROM VALUES(1, 2) AS t1(c1, c2), VALUES(3, 4) AS t2(c3, c4);
  3   4

-- select all referencable columns from all tables except t2.c4
> SELECT * EXCEPT(c4) FROM VALUES(1, 2) AS t1(c1, c2), VALUES(3, 4) AS t2(c3, c4);
  1   2   3

-- select all referencable columns from a table, except a nested field.
> SELECT * EXCEPT(c2.b) FROM VALUES(1, named_struct('a', 2, 'b', 3)) AS t(c1, c2);
  1  { "a" : 2 }

-- Removing all fields results in an empty struct
> SELECT * EXCEPT(c2.b, c2.a) FROM VALUES(1, named_struct('a', 2, 'b', 3)) AS t(c1, c2);
  1  { }

-- Overlapping names result in an error
> SELECT * EXCEPT(c2, c2.a) FROM VALUES(1, named_struct('a', 2, 'b', 3)) AS t(c1, c2);
  Error: EXCEPT_OVERLAPPING_COLUMNS