Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour,
J'ai vu sur u site (je ne sais plus lequel) qu'il fallait utiliser les jointures interne de préférence.
MAis j'ai une petite question.
Imaginons une table membre classique : idmembre | pseudo | mdp |
et une table livre_dor : idmessage | idmembre | message
Pour afficher le pseudo du membre, en sachant que le membre peu poster plusieurs message, il faudra bien faire une requète externe? ou bien une requte interne suffiit?
MErci d'avance
Hors ligne
Saluton,
La jointure externe (LEFT ou RIGHT [OUTER] JOIN), par rapport à la jointure interne ([OUTER] JOIN), permet de rapatrier toutes les lignes d'une table qui correspondent aux clauses des filtres, WHERE et/ou HAVING, même lorsque la clause de la jointure avec l'autre table ne sont pas réalisées.
Une illustration avec ton exemple :
ne retourne que les messages pour lesquels un pseudo correspond.
Alors que
retourne tous les messages même s'il n'y a plus de membre correspondant.
Plus fort
ne retourne que les messages sans pseudo.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Merci beaucoup pour ta réponse.
en fait une jointure interne suffit alors.
Hors ligne
Il est vrai que dans ton cas, on voit mal pourquoi un message n'aurait plus d'auteur, livre_dor.id_membre devant, idéalement, être une clé étrangère, et une contrainte ON DELETE CASCADE devant être présente dans la définition de la table livre_dor pour éviter des messages orphelins.
Mes exemples, avec LEFT JOIN, sont juste des illustrations proposées à partir de tes tables, bien que celles-ci ne rendent pas l'illustration très pertinente.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Pages :: 1