Critère de jointure

Fermé
florian - 29 déc. 2009 à 18:13
moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 - 30 déc. 2009 à 08:40
Bonjour,
lorsque l'on traduit une requete SQL en algebre relationnelle (schéma) est - il possible d'utiliser "IN" comme critère de jointure?

3 réponses

moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 92
29 déc. 2009 à 18:29
IN ? c'est à dire..
Je ne comprends pas la question
En critères de jointure je mets AND
0
la plupar du tps qaund je fais une jointure entre deux tables, le critèrede jointure est une égalité (entre deux champs communs des deux tables)

là au lieu d'une égalité, je voudrais mettre une fonction IN
0
moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 92
29 déc. 2009 à 18:34
Ahh oui.
Alors ce n'est pas interdit. Par contre attention aux résultats qui remontent.
A ta place je ne ferais pas de in dans une jointure n'importe comment, surtout d'un UPDPATE ou DELETE
LEFT JOIN ....ON....id=id2 AND champ IN ("toto", "tata").. J'ai un truc comme ça qui fonctionne de mon coté mais dans mon IN je n'utilise exclusivement que des INT pas de varchar ou autre. Après c'est le bordel sinon... Tout dépend des données que tu récupères.
0
j'ai un peu de mal à te suivre, je suis pas expert et les sql que l'on utilise sont surement très simple. mais je retiens que ce n'est pas interdit
0
moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 92
30 déc. 2009 à 08:40
Je te rassure je ne suis pas expert non plus.
Je dis juste que faut faire gaffe de bien joindre les bon identifiants et de filtrer en vérifiant bien le résultat dans tous les contextes de tes données.
Tu peux faire ce genre de bricolage mais soit très rigoureux.
En bref, j'espère que tu connais bien les données que tu manipules si tu fais ces jointures dans un UPDATE ou dans un DELETE.
0