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 MySQL Discussion :

[Jointure] Explication de code, pour réadaptation


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 13
    Par défaut [Jointure] Explication de code, pour réadaptation
    Bonjour,

    Qui pouvez-vous m'expliquer cette requette mysql, s'il vous plait,
    et si c'est possible de l'alléger ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT  films.id_film, genres.nom_genre genres
    FROM    films
            LEFT JOIN genre_film
                ON genre_film.film_id = films.id_film
            LEFT JOIN genres
                ON genre_film.genre_id = genres.id_genre
    WHERE   films.id_film = '$id_film'
    Merci
    Bonne fin de journée.

  2. #2
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    Bonjour

    Quelle partie de la requete tu ne comprends pas?

    Si tu as quelques difficultés avec les jointures, je te conseille cet article : http://sql.developpez.com/sqlaz/jointures/

    A+

    Michel

  3. #3
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 063
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 063
    Par défaut
    Un film peut avoir plusieurs genres, et un genre peut correspondre à plusieurs films, d'où la nécessité de la table de passage genre_film.
    La requête affiche donc tous les genres d'un film, y compris pour les films qui n'ont pas de genre (d'où le LEFT JOIN), auquel cas le nom du genre sera vide (NULL).
    Si la requête avait une jointure interne (INNER JOIN), elle ne renverrait que les films ayant au moins un genre.

    Et non, elle n'est pas allégeable si tu veux le nom du genre plutôt que son identifiant (qui est moins parlant).

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Organiser son code pour une jointure entre 2 tables
    Par scude dans le forum ASP.NET MVC
    Réponses: 4
    Dernier message: 02/05/2012, 11h59
  2. Explication sur un code pour un compteur
    Par Tiny Buster dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/05/2008, 18h46
  3. [Lomboz] Génération de code pour EJB
    Par paikan dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 09/07/2003, 14h28
  4. Réponses: 2
    Dernier message: 01/04/2003, 22h09
  5. code pour interbase 6.0 et 6.5 de generateur
    Par tripper.dim dans le forum InterBase
    Réponses: 4
    Dernier message: 01/07/2002, 11h29

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