Problème SQL Jointure

Résolu
ched64 Messages postés 54 Statut Membre -  
ched64 Messages postés 54 Statut Membre -
Bonjour,

Je cherche a réaliser l'opération suivante à l'aide de My SQL.

Obtenir le nom du (ou des) acteur(s) qui a (ont) joué dans « BB».

Films (idFilm, Titre, Annee)
(1, BB, 1900)
(2, CC, 1959)

Jouer (idActeur, idFilm)
(1,1)
(2,2)

Acteurs (idActeur, nom, prénom)
(1, ABCD, Paul)
(2, EFGH, Pierre)

Je pense qu'il faut utiliser une jointure mais je n'y arrive pas, si quelqu'un pouvais m'aider.
En vous remerciant :)

4 réponses

  1. Bob201477 Messages postés 8 Statut Membre 3
     
    Hello,

    Tu peux suivre ce cours sur les jointures : https://www.vulgarisation-informatique.com/mysql-select.php

    La requête serait la suivante :

    SELECT a.nom, a.prenom FROM Jouer j LEFT JOIN Acteurs a ON j.idActeur=a.idActeur WHERE j.idFilm=1

    Ca, c'est si tu connais d'avance l'identifiant du film.
    1
  2. ched64 Messages postés 54 Statut Membre
     
    Bonjour,

    Merci pour votre réponse cela fonctionne trés bien.

    Petite question concernant le code, a quoi correspondent les "a.", "j." (Acteurs, Jouer ?)
    0
  3. Bob201477 Messages postés 8 Statut Membre 3
     
    En fait ce sont ce qu'on appelle des alias. Les alias te permettent d'utiliser une notation de ton choix pour dire que tu souhaites les champs de la table Acteurs ou de la table Jouer,

    J'aurais très bien pu mettre x et y comme alias ;)
    0
  4. ched64 Messages postés 54 Statut Membre
     
    Okok merci du renseignements, ce qui veut dire que pour une autre question j'ai ça :

    o Obtenez la liste des titres des films qui ont été réalisés par CCC ;
    Realisateurs (idRealisateur, Nom, Prénom)
    (1,AAA,BBB)
    (2,CCC,DDD)

    Films (idFilm, Titre, Annee)
    (1, X1, 1950)
    (2, X2, 1960)
    (3, X3, 1970)
    (4, X4, 1980)

    Realiser (idRealisateur, idFilm)
    (1,2)
    (2,4)

    Le résultat est le suivant ?
    SELECT j.Titre
    FROM Realiser j
    LEFT JOIN Realisateurs r ON j.idRealisateur=r.idRealisateur WHERE j.nom=AAA
    0