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.
Ouvrez le concepteur dans phpMyAdmin.
Déterminez quelles tables :
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).
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.
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).
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;
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';
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';
▼Publicité