Aller au contenu principal

INNER JOIN

1er type de jointure "INNER JOIN", la plus simple !

Jointure INNER JOIN

SELECT * FROM livre AS T1
INNER JOIN genre AS T2 ON T1.id_genre = T2.id;

C’est une jointure dite interne. Ce type de jointure va retourner les enregistrements des 2 tables, uniquement si une correspondance a été trouvée entre les deux tables.

astuce

Le terme INNER est facultatif, on peut simplement écrire JOIN.

SELECT * FROM livre AS T1
INNER JOIN genre AS T2 ON T1.id_genre = T2.id;

width:100px

Avec la jointure INNER JOIN si l’identifiant du genre dans la table livre (clé étrangère) correspond à un identifiant du genre stocké dans la table genre (clé primaire), alors les entrées des 2 tables seront retournées dans la même ligne.

Dans notre exemple de gestion d'une bibliothèque, cela nous retournera toutes les informations des livres (table livre T1) avec leur genre (table genre T2) :

  • Si un livre n’a pas de genre, il ne sera pas dans le résultat.
  • Si un genre n'est attribué à aucun livre, il ne sera pas dans le résultat.

Test de mémorisation/compréhension


Qu'est-ce qu'une jointure INNER JOIN en SQL ?


Que signifie le terme 'INNER' dans 'INNER JOIN' ?


Est-il obligatoire d'utiliser le terme 'INNER' dans 'INNER JOIN' ?


Qu'arrive-t-il si un livre n'a pas de genre avec une jointure INNER JOIN entre les tables 'livre' et 'genre' ?


Qu'arrive-t-il si un genre n'est attribué à aucun livre avec une jointure INNER JOIN entre les tables 'livre' et 'genre' ?