Connexions naturels (NATURAL JOIN
)
En prenant comme base les connexions de colonnes nommées, l’étape suivante est une connexion naturelle qui effectue une équipartition sur toutes les colonnes de table de droite et de gauche du même nom. Les types de données de ces colonnes doivent être compatibles.
Note
|
Les connexions naturels ne sont disponibles qu’en dialecte 3. |
<natural-join> ::= NATURAL [<join-type>] JOIN <source> <join-type> ::= INNER | {LEFT | RIGHT | FULL} [OUTER]
Deux tables sont donnés :
CREATE TABLE TA (
a BIGINT,
s VARCHAR(12),
ins_date DATE
);
CREATE TABLE TB (
a BIGINT,
descr VARCHAR(12),
x FLOAT,
ins_date DATE
);
La connexion naturelle des tables TA
et TB
se fera par la colonne a
et ins_date
et les deux instructions suivants donneront le même résultat :
SELECT *
FROM TA
NATURAL JOIN TB;
SELECT *
FROM TA
JOIN TB USING (a, ins_date);
Comme toutes les connexions, les connexions naturelles sont des connexions internes par défaut, mais vous pouvez les transformer en connexions externes en spécifiant LEFT
, RIGHT
ou FULL
avant le mot-clé JOIN
.
Important
|
Attention
Si aucune colonne du même nom n’est trouvée dans les deux tables sources, `CROSS JOIN' sera exécuté. |