4.7. INTERROGERUNEBASE–LANGAGEDEMANIPULATIONDEDONNÉES :SELECT (2e PARTIE) {S8}87
Syntaxe générale des jointures
Sans compter l’opérateur CROSS JOIN, voici les trois syntaxes possibles de l’expression d’une jointure
dans la clause FROM en SQL :
table_1 { [INNER] { LEFT | RIGHT | FULL } [OUTER] } JOIN table_2 ON predicat [...]
table_1 { [INNER] { LEFT | RIGHT | FULL } [OUTER] } JOIN table_2 USING (colonnes) [...]
table_1 NATURAL { [INNER] { LEFT | RIGHT | FULL } [OUTER] } JOIN table_2 [...]
Ces trois syntaxes diffèrent par la condition de jointure spécifiée par les clause ON ou USING, ou
implicite dans le cas d’une jointure naturelle introduite par le mot-clé NATURAL.
ON : La clause ON correspond à la condition de jointure la plus générale. Le prédicat predicat est une
expression logique de la même nature que celle de la clause WHERE décrite dans la section 4.5.7.
USING : La clause USING est une notation abrégée correspondant à un cas particulier de la clause ON.
Les deux tables, sur lesquelles portent la jointure, doivent posséder toutes les colonnes qui sont
mentionnées, en les séparant par des virgules, dans la liste spécifiée entre parenthèses juste après
le mot-clé USING. La condition de jointure sera l’égalité des colonnes au sein de chacune des paires
de colonnes. De plus, les paires de colonnes seront fusionnées en une colonne unique dans la table
résultat de la jointure. Par rapport à une jointure classique, la table résultat comportera autant de
colonnes de moins que de colonnes spécifiées dans la liste de la clause USING.
NATURAL : Il s’agit d’une notation abrégée de la clause USING dans laquelle la liste de colonnes est
implicite et correspond à la liste des colonnes communes aux deux tables participant à la jointure.
Tout comme dans le cas de la clause USING, les colonnes communes n’apparaissent qu’une fois
dans la table résultat.
INNER et OUTER : Les mots-clé INNER et OUTER permettent de préciser s’il s’agit d’une jointure interne ou
externe. INNER et OUTER sont toujours optionnels. En effet, le compo