Possible en double:
(self,left outer,right outer,full outer) join - real world examplesQuelle est la différence entre les JOINTS GAUCHE, DROIT, INTÉRIEUR et EXTÉRIEUR?
Bonjour, chère communauté SO!
Je travaille avec des bases de données SQL depuis un certain temps mais un aspect est encore très confus pour moi: les jointures de tables. Je comprends très bien ce qui se passe quand j'écris une requête multi-table, mais quand un JOIN entre en jeu, j'ai l'impression de ne rien comprendre.
S'il vous plaît aidez-moi à comprendre ce qui est joint à la table, et quelle est la différence entre les jointures gauche, droite, intérieure et extérieure? Qu'est-ce qu'une auto-participation?
Je vous serais reconnaissant si vous pouviez donner un exemple de leur utilisation dans cette simple structure de la table:
Tableau auteurs
id |name
---------------
1 |John
2 |Bob
3 |Richard
Tableau livres
id |author_id |title |rating
-----------------------------------------
1 |1 |book A |5
2 |1 |book B |4.8
3 |3 |book C |3
Remerciez toi!
J'ai recherché sur Google cette question exacte et trouvé plusieurs résultats sur la première page illustrant les différences. Peut-être aurait-il été plus rapide que de demander ici. Pour être honnête, je dois d'ordinaire me rafraîchir la mémoire quand je vais me joindre à moi-même! – DarinH
"Je comprends très bien, ce qui se passe, quand j'écris une requête multitable, mais quand un JOIN entre en jeu, j'ai l'impression de ne rien comprendre." Hein? une jointure est toujours en jeu lors de l'écriture de requêtes multitables, vous n'utilisez pas la syntaxe de jointure implicite êtes-vous (celui avec les virgules entre les tables)? Si c'est le cas, n'écrivez jamais un autre morceau de code en utilisant cette syntaxe inexacte et très pauvre. Si vous utilisez cette mauvaise syntaxe, il n'est pas étonnant que vous ne compreniez pas les jointures. – HLGEM
HLGEM, pourquoi est-il dépassé et pauvre? –