Formation PUB200 : MySQL, 2018 Jointures

10.5 Truc pour monter une requête SQL avec jointure


Les débutants trouvent souvent difficile de monter une requête SQL avec jointures. Ils ne savent généralement pas par où commencer.

Voici une liste d'étapes à réaliser qui pourrait vous faciliter la vie.

Pour illustrer les étapes, prenons un exemple où vous désirez retrouver l'année de chaque voiture appartenant à Jacinthe Courtois.

  1. Ouvrez le concepteur dans phpMyAdmin.

    Concepteur

  2. Déterminez quelles tables :

    • contiennent les informations à afficher (en orange dans le schéma ci-bas)
    • contiennent les informations qui seront utilisées dans la condition (en bleu dans le schéma ci-bas)

    Ex : pour afficher l'année de chaque voiture appartenant à Jacinthe Courtois, vous aurez besoin de la table clients (pour le nom de famille et le prénom) et de la table voitures (c'est elle qui permet de savoir à qui appartient une voiture. C'est également elle qui contient l'année d'une voiture, soit l'information que l'on désire afficher). 

    Tables à utiliser pour la requête

  3. Pour chaque table qui pourrait vous servir dans la requête, ouvrez une autre instance de phpMyAdmin et affichez les données de la table. Suggestion : si le concepteur était affiché à l'aide de Google Chrome, ouvrez les données des tables dans Firefox. Ceci vous aidera à voir rapidement qu'est-ce qui est quoi dans la barre des tâches de Windows.

    Contenu des tables

  4. Si plus d'une table doivent être utilisées dans la requête, déterminez sur quels champs doit se faire la jointure (clé primaire d'une table et clé étrangère de l'autre table).

    Champs pour jointure

  5. Dans une nouvelle instance de phpMyAdmin, écrivez une requête débutant par « SELECT * » avec la jointure mais sans le WHERE. Assurez-vous que les résultats affichés font du sens et qu'ils vous permettent de retrouver les champs à afficher et de poser la condition (WHERE). Conservez cette fenêtre des résultats : elle vous sera utile dans les étapes suivantes.

    Ex : SELECT * FROM voitures INNER JOIN clients ON client_id = clients.id;

    Résultat de la jointure

  6. Ajoutez la condition à votre requête. Pour vous aider, regardez les résultats de la jointure sans le WHERE. Ceci devrait vous aider à formuler la condition.

    Ex : SELECT * FROM voitures INNER JOIN clients ON client_id = clients.id WHERE prenom='Jacinthe' AND nomfamille='Courtois';

    Résultat de la jointure avec le WHERE

  7. Remplacez l'étoile par le nom du ou des champs à afficher.

    Ex : SELECT annee FROM voitures INNER JOIN clients ON client_id = clients.id WHERE prenom='Jacinthe' AND nomfamille='Courtois';

    Requête finale

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre