다음을 통해 공유


* (star) 절

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

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

열 또는 필드 목록은 테이블 참조의 순서와 각 테이블 참조 내의 열 순서에 따라 정렬됩니다. 필드의 경우 구조체 내의 필드 순서에 따라 정렬됩니다.

열은 _metadata 이 목록에 포함되지 않습니다. 명시적으로 참조해야 합니다.

Databricks Runtime 15.0 이전에는 star(*) 절을 목록에서만 사용할 SELECT 수 있습니다.

구문

star_clause
   [ name . ] * [ except_clause ]

except_clause
   EXCEPT ( { column_name | field_name } [, ...] )

매개 변수

  • 이름

    이름이 테이블 이름인 경우 지정한 참조 가능한 테이블의 열을 나열합니다. 이름이 STRUCT 형식의 열 또는 필드 이름인 경우 지정된 참조 가능한 열 또는 필드의 필드를 나열합니다. 없는 경우 FROM 절에 있는 모든 참조 가능한 테이블의 모든 열이 나열됩니다.

  • except_clause

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

    필요에 따라 select_star 절에 식별된 참조 가능한 열 집합에서 열 또는 필드를 정리합니다.

    • column_name

      참조할 수 있는 열 세트의 일부인 열입니다.

    • field_name

      참조할 수 있는 열 세트의 열에 있는 필드에 대한 참조입니다. STRUCT에서 모든 필드를 제외하면 빈 STRUCT 필드가 생성됩니다.

    각 이름은 참조할 수 있는 열 세트에 포함된 열 또는 해당 필드를 참조해야 합니다. 그렇지 않으면 Databricks SQL에서 UNRESOLVED_COLUMN 오류가 발생합니다. 이름이 겹치거나 고유하지 않으면 Databricks SQL에서 EXCEPT_OVERLAPPING_COLUMNS 오류가 발생합니다.

예제

– Return all columns in the FROM clause
> SELECT * FROM VALUES(1, 2) AS TA(c1, c2), VALUES(‘a’, b’) AS TB(ca, cb);
  1  2  a  b

– Return all columns from TA
> SELECT TA.* FROM VALUES(1, 2) AS TA(c1, c2), VALUES(‘a’, b’) AS TB(ca, cb);
  1  2

– Return all columns except TA.c1 and TB.cb
> SELECT * EXCEPT (c1, cb)  FROM VALUES(1, 2) AS TA(c1, c2), VALUES(‘a’, b’) AS TB(ca, cb);
  2  a

– Return all columns, but strip the field x from the struct.
> SELECT TA.* EXCEPT (c1.x) FROM VALUES(named_struct(‘x’, x, ‘y’, ‘y’), 2) AS (c1, c2), VALUES(‘a’, b’) AS TB(ca, cb);
  { y } 2 a b

-- Return all fields in c1.
> SELECT c1.* FROM VALUES(named_struct(‘x’, x, ‘y’, ‘y’), 2) AS (c1, c2), VALUES(‘a’, b’) AS TB(ca, cb);
  x  y

– Return the first not-NULL column in TA
> SELECT coalesce(TA.*)  FROM VALUES(1, 2) AS TA(c1, c2), VALUES(‘a’, b’) AS TB(ca, cb);
  1