SQL NATURAL JOIN

Dans le langage SQL, la commande NATURAL JOIN permet de faire une jointure naturelle entre 2 tables. Cette jointure s’effectue à la condition qu’il y ai des colonnes du même nom et de même type dans les 2 tables. Le résultat d’une jointure naturelle est la création d’un tableau avec autant de lignes qu’il y a de paires correspondant à l’association des colonnes de même nom.

A noter : puisqu’il faut le même nom de colonne sur les 2 tables, cela empêche d’utiliser certaines règles de nommages pour le nom des colonnes. Il n’est par exemple pas possible de préfixer le nom des colonnes sous peine d’avoir malheureusement 2 nom de colonnes différents.

Syntaxe

La jointure naturelle de 2 tables peut s’effectuer facilement, comme le montre la requête SQL suivante :

SELECT *
FROM table1
NATURAL JOIN table2

L’avantage d’un NATURAL JOIN c’est qu’il n’y a pas besoin d’utiliser la clause ON.

Exemple

Une utilisation classique d’une telle jointure pourrait être l’utilisation dans une application qui utilise une table utilisateur et une table pays. Si la table utilisateur contient une colonne pour l’identifiant du pays, il sera possible d’effectuer une jointure naturelle.

Table « utilisateur » :

[table id =146 /]

Table « pays » :

[table id =145 /]

Pour avoir la liste de tous les utilisateurs avec le pays correspondant, il est possible d’effectuer une requête SQL similaire à celle-ci:

SELECT *
FROM utilisateur
NATURAL JOIN pays

Cette requête retournera le résultat suivant :

[table id =147 /]

Cet exemple montre qu’il y a bien eu une jointure entre les 2 tables grâce à la colonne « pays_id » qui se trouve dans l’une et l’autre des tables.

Partager