Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/10/2011, 20h07   #1
Membre du Club
 
Homme
Étudiant
Inscription : janvier 2011
Messages : 330
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 330
Points : 47
Points : 47
Par défaut left join et right join

Bonjour j'ai une petite question,

je voudrais savoir si

Code :
1
2
SELECT client.societe, produit.nom
from ((produit p right join detailcommande DCo on p.N_pr=DCo.N_pr) right join Dco on Dco.n_com=commande.n_com) right join commande Co on Co.n_cl=Client.N_cl  ;
est egale

Code :
1
2
3
4
select client.societe,produit.nom
from((client c left join commande co on c.n_cl=co.n_cl) left join 
co on co.n_com=detailcommande.n_com) left join dc on 
dc.N_pr=produit.N_pr
je veux juste savoir si c'est la mm logique

merci d'avance
huître est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2011, 21h00   #2
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 415
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 415
Points : 4 447
Points : 4 447
bonsoir,

je pense que tu t'es gouré dans les jointures et que les deux requêtes sont équivalentes dans le sens ou elles ne vont pas retourner le résultat souhaité

Code :
1
2
3
4
5
select client.societe,produit.nom
from((client c left join commande co on c.n_cl=co.n_cl) left join 
detailcommande dc on co.n_com=dc.n_com) left join Produit on 
dc.N_pr=produit.N_pr
Dans l'esprit, les requêtes:

Client---->Commande---->DetailCommande---->Produit

Produit<----DetailCommande<----Commande<----Client

sont équivalentes.

Au niveau SQL:
Code sql :
TblA LEFT JOIN TblB
est équivalent à
Code sql :
TblB RIGHT JOIN TblA
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2011, 21h16   #3
Membre du Club
 
Homme
Étudiant
Inscription : janvier 2011
Messages : 330
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 330
Points : 47
Points : 47
comment ça elle ne vont pas retourné le mm résultat c'est à dire?
huître est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2011, 21h25   #4
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 415
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 415
Points : 4 447
Points : 4 447
Citation:
Envoyé par f-leb Voir le message
je pense que tu t'es gouré dans les jointures et que les deux requêtes sont équivalentes dans le sens ou elles ne vont pas retourner le résultat souhaité
c'est juste une boutade, je pense que les requêtes que tu as posté sont fausses et j'ai porté les corrections en rouge (pour celle avec left join).

Citation:
Client---->Commande---->DetailCommande---->Produit

Produit<----DetailCommande<----Commande<----Client
une fois corrigées (avec la représentation graphique des jointures telles qu'elles apparaissent dans la fenêtre "Requête") , les deux requêtes sont bien équivalentes.
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h10.


 
 
 
 
Partenaires

Hébergement Web