Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:
SQL do Databricks
Databricks Runtime
Uma referência de tabela é uma tabela de resultados intermediária no SQL. Ela pode ser derivada de outros operadores, como funções, junções ou uma subconsulta, pode referenciar uma tabela base diretamente ou ser construída como uma tabela embutida.
Sintaxe
table_reference
{ table_name [ TABLESAMPLE clause ] [ table_alias ] |
{ STREAM table_name [ table_alias ] | STREAM ( table_name ) [ table_alias ] } |
view_name [ table_alias ] |
table_reference JOIN clause |
table_reference PIVOT clause |
table_reference UNPIVOT clause |
[ STREAM ] table_valued_function [ table_alias ] |
[ LATERAL ] table_valued_function [ table_alias ] |
VALUES clause |
[ LATERAL ] ( query ) [ TABLESAMPLE clause ] [ table_alias ] }
Parâmetros
-
Identifica uma tabela que pode conter uma especificação temporal. Confira Trabalhar com o histórico de tabelas do Delta Lake para obter detalhes.
Se a tabela não puder ser encontrada, o Azure Databricks gerará um erro TABLE_OR_VIEW_NOT_FOUND.
Consulte Resolução de variáveis, colunas, campos e parâmetros para obter mais informações sobre resolução de nomes.
Aplica-se a: **
Databricks Runtime 16.0 e superiortable_namepode incluir uma especificação de opções. -
Identifica uma exibição ou uma CTE (expressão de tabela comum). Se a exibição não puder ser encontrada, o Azure Databricks gerará um erro TABLE_OR_VIEW_NOT_FOUND.
Consulte Resolução de variáveis, colunas, campos e parâmetros para obter mais informações sobre resolução de nomes.
RIACHO
Retorna uma tabela ou uma função com valor de tabela como uma fonte de streaming. As tabelas não podem ser fornecidas com uma especificação temporal quando usadas com a palavra-chave
STREAM. As fontes de streaming são mais comumente utilizadas nas definições da tabelas de streaming.-
Combina duas ou mais relações usando uma junção.
-
Aplica-se a:
SQL do Databricks
Databricks Runtime 12.2 LTS e versões posteriores.Usado para a perspectiva dos dados; você pode obter os valores agregados com base no valor específico da coluna.
Antes do Databricks Runtime 12.0 PIVOT é limitado a SELECT seguindo a cláusula
FROM. -
Aplica-se a:
SQL do Databricks
Databricks Runtime 12.2 LTS e versões posteriores.Usada para perspectiva de dados; você pode dividir vários grupos de colunas em linhas.
[LATERAL]table_valued_function_invocation
Invoca uma função com valor de tabela. Para se referir a colunas expostas por um
table_referenceprecedente na mesma cláusulaFROM, você deve especificarLATERAL.-
Define uma tabela embutida.
[LATERAL] ( consulta )
Calcula uma referência de tabela usando uma consulta. Uma consulta com
LATERALcomo prefixo pode referenciar colunas expostas por umtable_referenceprecedente na mesma cláusulaFROM. Esse tipo de constructo é chamado de consulta correlacionada ou dependente.-
Opcionalmente, reduza o tamanho do conjunto de resultados fazendo a amostragem de apenas uma fração das linhas.
-
Como opção, especifica um rótulo para
table_reference. Setable_aliasincluircolumn_identifiers, o número deles deverá corresponder ao número de colunas emtable_reference.
Selecionar na tabela do Delta
Além das opções SELECT padrão, as tabelas Delta dão suporte às opções de viagem no tempo descritas nesta seção. Para ver detalhes, confira Trabalhar com o histórico de tabelas do Delta Lake.
Sintaxe de AS OF
table_identifier TIMESTAMP AS OF timestamp_expression
table_identifier VERSION AS OF version
-
timestamp_expressionpode ser qualquer uma das seguintes opções:-
'2018-10-18T22:15:12.013Z', ou seja, uma cadeia de caracteres que pode ser convertida em um carimbo de data/hora cast('2018-10-18 13:36:32 CEST' as timestamp)-
'2018-10-18', ou seja, uma cadeia de caracteres de data current_timestamp() - interval 12 hoursdate_sub(current_date(), 1)- Qualquer outra expressão que seja ou possa ser convertida em um carimbo de data/hora
-
-
versioné um valor longo que pode ser obtido da saída deDESCRIBE HISTORY table_spec.
timestamp_expression e version não podem ser subconsultas.
Exemplo
> SELECT * FROM events TIMESTAMP AS OF '2018-10-18T22:15:12.013Z'
> SELECT * FROM events VERSION AS OF 123
Sintaxe de @
Use a sintaxe @ para especificar o carimbo de data/hora ou a versão. O carimbo de data/hora precisa estar no formato yyyyMMddHHmmssSSS. Você pode especificar uma versão após @, incluindo v no início da versão. Por exemplo, para consultar a versão 123 da tabela events, especifique events@v123.
Exemplo
> SELECT * FROM events@20190101000000000
> SELECT * FROM events@v123
Exemplos
-- Return a data set from a storage location using a credential.
> SELECT * FROM `csv`.`spreadsheets/data.csv` WITH(CREDENTIAL some_credential);
-- Select from a jdbc data source while controlling the fetch size.
> SELECT * FROM jdbcTable WITH(fetchSize = 0);
-- 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