FROM

L'expression FROM spécifie les sources à partir desquelles les données seront échantillonnées. Dans sa forme la plus simple, il peut s'agir d'une table unique ou d'une vue. Cependant, les sources peuvent également être une procédure stockée, une table dérivée ou une expression de table commune (CTE). Différents types de sources peuvent être combinés en utilisant une variété de jointures (JOINs).

Cette section traite de l'interrogation d'une source unique. Les jointures sont abordées dans la section suivante.

Syntaxe:
SELECT
...
FROM <source>
[<joins>]
[...]

<source> ::= {
    table
  | view
  | selectable-stored-procedure [(<args>)]
  | <derived-table>
  | <lateral-derived-table>
  | <common-table-expression>
} [[AS] alias]

<derived-table> ::= (select-statement) [[AS] alias] [(<column-aliases>)]

<lateral-derived-table> ::= LATERAL <derived-table>

<common-table-expression> ::= WITH [RECURSIVE]
  <cte-def> [, <cte-def> ...]
  <select-statement>

<cte-def> ::= name [(<column-aliases>)] AS (<select-statement>)

<column-aliases> ::= column-alias [, column-alias ...]
Table 1. Paramètres d'une expression FROM
ParamètreDescription

table

Table.

view

Vue

selectable-stored-procedure

Une procédure stockée sélective.

args

Arguments d'une procédure stockée sélective.

derived-table

Table dérivé.

lateral-derived-table

Table dérivé latéral

cte-def

Expression de table commune (CTE).

select-statement

Requête SELECT aléatoire.

column-alias

L'alias de la colonne CTE ou de la table dérivée.

name

Nom de la CTE.

alias

Un alias pour l'une des sources de données (table, vue, procédure, CTE, table dérivée).