Aller au contenu principal

RIGHT JOIN

3ème type de jointure "RIGHT JOIN"

astuce

La jointure RIGHT JOIN est également appelée RIGHT OUTER JOIN.

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

RIGHT JOIN fait la même chose que LEFT JOIN, mais elle retourne toute la table T2 au lieu de T1 !

  • La 1ère table de la requête est considérée comme la table de gauche = livre.
  • La 2ème table de la requête est considérée comme la table de droite = genre.

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

Dans notre exemple, cela retournera tous les genres avec les livres qui sont classés dans ce genre, mais également tous les genres qui n'ont pas de livres !

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

Exercice

Bonne pratique - Préférer LEFT JOIN à RIGHT JOIN

RIGHT JOIN peut toujours être réécrit en LEFT JOIN en inversant l'ordre des tables. FROM livre RIGHT JOIN genreFROM genre LEFT JOIN livre La plupart des développeurs préfèrent LEFT JOIN par convention — la table "principale" est à gauche.


Test de mémorisation/compréhension


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


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


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


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


Quelle est la différence entre LEFT JOIN et RIGHT JOIN ?



Une solution