Connexions JOIN

Une jointure est effectuée pour chaque ligne et implique généralement la vérification de la condition de jointure pour déterminer quelles lignes doivent être jointes et se retrouver dans le jeu de données résultant.

Le résultat d'une jointure peut également être joint à un autre ensemble de données en utilisant la jointure suivante.

Il existe plusieurs types (INNER, OUTER) et classes (qualifiées, naturelles, etc.) de jointures, chacune ayant sa propre syntaxe et ses propres règles.

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

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

<joins> ::= <join> [<join> ...]

<join> ::=
    [<join-type>] JOIN <source> <join-condition>
  | NATURAL [<join-type>] JOIN <source>
  | {CROSS JOIN | ,} <source>

<join-type> ::= INNER | {LEFT | RIGHT | FULL} [OUTER]

<join-condition> ::= ON <condition> | USING (<column-list>)
Table 1. Paramètres de JOIN
ParamètreDescription

table

Table.

view

Vue

selectable-stored-procedure

Une procédure stockée sélectif.

args

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

derived-table

Table dérivée

common-table-expression

Expression de table commune (CTE).

alias

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

condition

Condition de connexion.

column-list

Une liste des colonnes pour lesquelles l'équipoise se produit.