- Catégories :
FROM¶
Spécifie les tables, vues ou fonctions de table à utiliser dans une instruction SELECT.
- Voir aussi :
AT | BEFORE , CHANGES , CONNECT BY , JOIN , ASOF JOIN, MATCH_RECOGNIZE, PIVOT , SAMPLE / TABLESAMPLE , SEMANTIC_VIEW, UNPIVOT, Utilisation des jointures, Analyse des données de séries temporelles
Syntaxe¶
Où :
Paramètres¶
JOINSous-clause qui spécifie d’effectuer une jointure entre deux ou plusieurs tables (ou vues ou fonctions de table). La jointure peut être une jointure interne, une jointure externe ou un autre type de jointure. La jointure peut utiliser le mot clé JOIN ou une autre syntaxe de jointure prise en charge. Pour plus de détails sur les jointures, voir JOIN et ASOF JOIN.
[ AS ] alias_nameSpécifie un nom donné à la référence de l’objet auquel il est attaché. Peut être utilisé avec n’importe lequel des autres sous-clauses de la clause FROM.
Les noms d’alias doivent suivre les règles de Identificateurs d’objet.
VALUESLa clause
VALUESpeut spécifier des valeurs ou expressions littérales à utiliser dans la clauseFROM. Cette clause peut contenir des alias de table et de colonne (non montrés dans le diagramme ci-dessus). Pour plus d’informations sur la clause VALUES, voir VALUES.
Clause de fonction de table ou d’objet¶
[namespace.]object_nameSpécifie le nom de l’objet (table ou vue) interrogé.
Le nom d’objet peut être qualifié en utilisant
namespace(sous la formedb_name.schema_name.object_nameouschema_name.object_name). Un espace de noms n’est pas nécessaire si le contexte peut être dérivé de la base de données actuelle et du schéma de la session.Lorsque vous spécifiez un nom de table/vue à interroger, vous pouvez également spécifier la sous-clause facultative suivante :
{ AT | BEFORE } ( object_state )Sous-clause facultative qui spécifie l’état historique de la table ou de la vue basé sur le temps ou sur l’événement pour Time Travel. Pour plus de détails, voir AT | BEFORE.
MATCH_RECOGNIZESous-clause facultative permettant de trouver des séquences de lignes qui correspondent à un modèle. Pour plus de détails, voir MATCH_RECOGNIZE.
table_functionSpécifie une fonction de table définie par le système, une fonction de table UDF ou une méthode de classe à appeler dans la clause FROM. Pour plus de détails, reportez-vous aux rubriques suivantes :
{ PIVOT | UNPIVOT }Sous-clause facultative qui spécifie de faire pivoter ou non les résultats de la clause FROM. Pour plus de détails, voir PIVOT et UNPIVOT.
SAMPLESous-clause facultative qui spécifie d’échantillonner les lignes de la table/vue. Pour plus de détails, voir SAMPLE / TABLESAMPLE.
Clause de vue en ligne¶
[ LATERAL ] ( subquery )Spécifie une vue en ligne dans la clause FROM. Si le mot-clé
LATERALfacultatif est utilisé, lasubquerypeut se référer à des colonnes d’autres tables (ou vues ou fonctions de table) qui sont dans la clause FROM actuelle et à gauche de la vue en ligne.Pour plus d’informations sur les sous-requêtes en général, voir : Utilisation des sous-requêtes.
Clause de fichier en zone de préparation¶
@[namespace.]stage_name[/path]Le nom d’une zone de préparation nommée (ou
~faisant référence à la zone de préparation de l’utilisateur actuel ou%suivi d’un nom de table faisant référence à la zone de préparation de la table spécifiée).Lorsque vous interrogez une zone de préparation, vous pouvez également spécifier un format de fichier nommé et un modèle :
( FILE_FORMAT => format_name [ , PATTERN => 'regex_pattern' ] )Spécifie un objet de format de fichier nommé à utiliser pour la zone de préparation et un modèle pour filtrer l’ensemble des fichiers de la zone de préparation.
Pour plus d’informations sur les requêtes au niveau des zones de préparation, voir Query data in staged files.
Clause de table de répertoire¶
DIRECTORY( @stage_name )Spécifie le nom d’une zone de préparation qui comprend une table de répertoire.
Résultat de requête hiérarchique¶
hierarchical_query_resultLe résultat d’une requête hiérarchique est le jeu de résultats obtenus à l’aide d’une clause telle que CONNECT BY pour interroger une table de données hiérarchiques. Pour plus de détails, voir CONNECT BY.
Clause de vue sémantique¶
SEMANTIC_VIEW(...)Spécifie la vue sémantique que vous souhaitez interroger. Pour plus d’informations, voir SEMANTIC_VIEW.
Clause de table d’erreurs¶
ERROR_TABLE( base_table_name )Spécifie le nom de la table de base associée à la table d’erreurs que vous souhaitez interroger. Pour plus d’informations, voir Journalisation des erreurs DML.
Clause de limite d’actualisation de table dynamique¶
DYNAMIC_TABLE_REFRESH_BOUNDARY( <object_name> )Inclut une table, une vue ou une référence de table dynamique afin que les tables dynamiques en amont accessibles via celle-ci ne soient pas actualisées en même temps que la table dynamique en aval. Utilisé dans les définitions de tables dynamiques pour découpler les pipelines. Pour plus d’informations, voir Limite de l’actualisation des tables dynamiques.
DYNAMIC_TABLE_REFRESH_BOUNDARY()n’a aucun effet en dehors des définitions de tables dynamiques. L’objet englobé est lu normalement.
Notes sur l’utilisation¶
Les noms d’objets sont des identificateurs SQL. Ils sont insensibles à la casse par défaut. Pour préserver les majuscules et minuscules, placez-les entre guillemets doubles (
" ").
Exemples¶
Créer une table et y charger des données :
Voici un exemple de base d’utilisation de la clause FROM :
L’exemple suivant est identique à l’exemple précédent, mais spécifie le nom de table, qualifié par le schéma de la table :
L’exemple suivant crée une vue en ligne et l’utilise ensuite dans la requête :
L’exemple suivant interroge un échantillon de 10 % des données de la table :
L’exemple suivant exécute une fonction de table définie par l’utilisateur (UDTF) :
Ces exemples utilisent une clause AT pour renvoyer les données historiques des points suivants dans le passé :
Un jour avant la date et l’heure actuelle (
-86400 = -3600 * 24).Heure et jour spécifiques.
Pour plus d’informations sur AT, voir AT | BEFORE.
L’exemple suivant interroge les fichiers situés dans une zone de préparation nommée :
L’exemple suivant récupère toutes les colonnes de métadonnées dans une table de répertoire pour une zone de préparation nommée mystage :
L’exemple suivant récupère les valeurs de colonne FILE_URL d’une table de répertoire pour les fichiers d’une taille supérieure à 100 Ko :
L’exemple suivant récupère les valeurs de colonne FILE_URL d’une table de répertoire pour les fichiers de valeurs séparées par des virgules :