jointure relationnelle

Dans une requête, si les noms de colonnes ne sont pas ambiguës, il n’est pas nécessaire de rajouter devant un champ le nom de la table.

Mais ce n’est pas “propre”, c’est difficile à relire, donc si il y a des jointures au minimum préfixer le nom des champs par de simple alias pour savoir à quelle table appartient chaque champ.

jointure interne

C’est la jointure par défaut celle que vous devez maîtriser parfaitement

Il existe 2 manières de réaliser (écrire) une jointure interne :

SELECT <fields>
FROM TableA 
[INNER] JOIN TableB  ON TableA.PrimaryKey = TableB.ForeignKey;
SELECT <fields>
FROM TableA , TableB 
WHERE TableA.PrimaryKey = TableB.ForeignKey;

La première méthode d’écrire une jointure avec “INNER JOIN” est recommandée bien que un peu plus difficile à écrire au début, elle est plus normalisée plus rapide pour les moteurs de SGBDR. C’est cette méthode que vous devez privilégier.

Si les clés dans les tables portent le même nom, avec le mot clé NATURAL, il est possible de définir la jointure sans utiliser le mot clé “ON” (à titre d’information, éviter cette notation).

SELECT <fields>
FROM TableA 
NATURAL JOIN TableB;

Les Différents types de jointures :

https://cours-info.iut-bm.univ-fcomte.fr/upload/perso/77/rs_S2_BDD/td/img/BDD2_td5_img1.png

jointures SQL

Créer les 2 tables ci dessous :