적용 대상:
Databricks SQL
Databricks Runtime
식 실행, 집계 및 중복 제거를 포함하여 하위 쿼리에서 반환할 열을 수집합니다.
통사론
SELECT [ hints ] [ ALL | DISTINCT ] { named_expression | star_clause } [, ...]
매개 변수
-
힌트는 Azure Databricks 최적화 프로그램이 더 나은 계획 결정을 내리는 데 도움이 됩니다. Azure Databricks는 조인 전략 선택 및 데이터 다시 분할에 영향을 주는 힌트를 지원합니다.
모두
테이블 참조에서 일치하는 모든 행을 선택합니다. 기본적으로 사용하도록 설정됩니다.
별개
결과에서 중복 항목을 제거한 후 테이블 참조에서 일치하는 모든 행을 선택합니다.
명명된_표현
선택적으로 할당된 이름을 가진 식입니다.
-
값으로 계산되는 하나 이상의 값, 연산자 및 SQL 함수의 조합입니다.
-
식 결과의 이름을 지정하는 선택적 열 식별자입니다. 제공된
column_alias없는 경우 Databricks SQL은 하나를 파생합니다.
-
-
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