Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
S’applique à :
Databricks SQL
Databricks Runtime
Une référence de table est une table de résultats intermédiaire dans SQL. Elle peut être dérivée d’autres opérateurs, tels que des fonctions, des jointures ou une sous-requête, référencer directement une table de base, ou être construite en tant que table inline.
Syntaxe
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 ] }
Paramètres
-
Identifie une table qui peut contenir une spécification temporelle. Pour plus d’informations, consultez Utiliser l’historique des tables Delta Lake.
Si la table est introuvable, Azure Databricks génère une erreur TABLE_OR_VIEW_NOT_FOUND.
Pour plus d’informations sur la résolution de noms, consultez Résolution de colonnes, de champs, de paramètres et de variables.
S’applique à : **
Databricks Runtime 16.0 et versions ultérieurestable_namepeut inclure une spécification d’options. -
Identifie une vue ou une expression de table commune (CTE). Si la vue est introuvable, Azure Databricks génère une erreur TABLE_OR_VIEW_NOT_FOUND.
Pour plus d’informations sur la résolution de noms, consultez Résolution de colonnes, de champs, de paramètres et de variables.
RUISSEAU
Retourne une table ou une fonction table en tant que source de diffusion en continu. Les tables ne peuvent pas être fournies avec une spécification temporelle lorsqu’elles sont utilisées avec le mot clé
STREAM. Les sources de diffusion en continu sont couramment utilisées dans les définitions des tables de diffusion en continu.-
Combine deux relations ou plus à l’aide d’une jointure.
-
S’applique à :
Databricks SQL
Databricks Runtime 12.2 LTS et versions ultérieures.Utilisé pour la perspective des données ; vous pouvez récupérer les valeurs agrégées en fonction d’une valeur de colonne spécifique.
Avant Databricks Runtime 12.0 PIVOT est limité à SELECT suivant la clause
FROM. -
S’applique à :
Databricks SQL
Databricks Runtime 12.2 LTS et versions ultérieures.Utilisé pour la perspective des données ; vous pouvez fractionner plusieurs groupes de colonnes en lignes.
[LATÉRAL]table_valued_function_invocation
Appelle une fonction table. Pour faire référence aux colonnes exposées par un précédent
table_referencedans la même clauseFROM, vous devez spécifierLATERAL.-
Définit une table Inline.
[LATERAL] ( requête )
Calcule une référence de table à l’aide d’une requête. Une requête précédée de
LATERALpeut faire référence à des colonnes exposées par untable_referenceprécédent dans la même clauseFROM. Une telle construction est appelée requête corrélée ou dépendante.-
Si vous le souhaitez, réduisez la taille du jeu de résultats en échantillonnant uniquement une fraction des lignes.
-
Spécifie éventuellement une étiquette pour le
table_reference. Si letable_aliasinclutcolumn_identifier, leur nombre doit correspondre au nombre de colonnes dans letable_reference.
Sélectionner sur une table Delta
Outre les options standard SELECT, les tables Delta prennent en charge les options de voyage dans le temps décrites dans cette section. Pour plus d’informations, consultez Utiliser l’historique des tables Delta Lake.
Syntaxe de AS OF
table_identifier TIMESTAMP AS OF timestamp_expression
table_identifier VERSION AS OF version
-
timestamp_expressionpeut être n’importe quel :-
'2018-10-18T22:15:12.013Z', autrement dit, une chaîne qui peut être convertie en horodateur cast('2018-10-18 13:36:32 CEST' as timestamp)-
'2018-10-18', autrement dit, une chaîne de date current_timestamp() - interval 12 hoursdate_sub(current_date(), 1)- Toute autre expression qui est ou qui peut être castée en un timestamp
-
-
versionest une valeur de type long qui peut être obtenue à partir de la sortie deDESCRIBE HISTORY table_spec.
Ni timestamp_expression ni version ne peuvent être des sous-requêtes.
Exemple
> SELECT * FROM events TIMESTAMP AS OF '2018-10-18T22:15:12.013Z'
> SELECT * FROM events VERSION AS OF 123
Syntaxe de @
Utilisez la syntaxe @ pour spécifier le timestamp ou la version. Le timestamp doit être au format yyyyMMddHHmmssSSS. Vous pouvez spécifier une version après @ en ajoutant v à la version. Par exemple, pour interroger la version 123 de la table events, spécifiez events@v123.
Exemple
> SELECT * FROM events@20190101000000000
> SELECT * FROM events@v123
Exemples
-- 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