IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

left join et right join


Sujet :

Requêtes et SQL.

  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 422
    Par défaut left join et right join
    Bonjour j'ai une petite question,

    je voudrais savoir si

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 197
    Billets dans le blog
    47
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    TblA LEFT JOIN TblB
    est équivalent à
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    TblB RIGHT JOIN TblA

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 422
    Par défaut
    comment ça elle ne vont pas retourné le mm résultat c'est à dire?

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 197
    Billets dans le blog
    47
    Par défaut
    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).

    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.

Discussions similaires

  1. LEFT JOIN ou RIGHT JOIN : Interchangeables ?
    Par WinNew dans le forum Langage SQL
    Réponses: 21
    Dernier message: 02/04/2012, 16h22
  2. Plusieurs left join ou right join
    Par devman2011 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 09/03/2012, 07h59
  3. left join , right join et inner join ?
    Par amine003 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 05/12/2008, 17h25
  4. Fonction Left join, Right Join
    Par chandlerbing77 dans le forum Access
    Réponses: 2
    Dernier message: 22/06/2006, 16h36
  5. Réponses: 4
    Dernier message: 28/10/2005, 20h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo