
Jointure SQL : Créer une requête de jointure
Vous souhaitez faire une requête de jointure SQL ? Dans cet article vous trouverez la méthode pour mettre en place cette dernière.

Pour cela, nous allons utiliser l’interface de phpMyAdmin, qui est très simple d’utilisation. En effet, avec la console MySQL vous serez peut-être moins à l’aise. Mais rassurez-vous, la requête SQL sera la même que si vous l’utilisiez en ligne de commande ou dans phpMyAdmin. Vous devrez simplement ajouter un point-virgule à la fin de votre ligne de commande.
Pour simplifier la compréhension, vous pouvez retrouver une vidéo qui présente l’utilisation de la requête de jointure SQL dans phpMyAdmin :
Pourquoi utiliser les jointures dans une base de données ?
Une jointure est une commande essentielle dans les bases de données. En effet, elle va vous permettre d’afficher des informations provenant de tables différentes. Elle permet d’extraire les données de plusieurs tables à travers une requête qui lie les tables par le biais d’un identifiant commun.
Un exemple permet de mieux comprendre le fonctionnement. Vous avez deux tables dans votre base de données. La première est une table qui stocke tous vos clients. Chaque client possède un identifiant unique. Les autres colonnes contiennent les autres informations du client (nom, prénom, date de naissance, adresse, code postal…)
La seconde table stocke toutes les commandes passées sur votre site internet. Pour chaque commande, vous avez également plusieurs colonnes (prix, nombre de produits…). Mais pour chaque commande vous aurez également le numéro identifiant de chaque client qui sera ajouté. Ainsi, plutôt que de remettre toutes les informations du client (ce qui surchargera la table), on peut simplement mettre l’identifiant de ce dernier.
En faisant une requête de jointure SQL entre la table « clients » et « commandes » sur un identifiant de client par exemple, on pourra obtenir les commandes du client et afficher en même temps les informations de ce dernier.
Faire une jointure SQL
Pour réaliser la requête, je vais utiliser l’interface phpMyAdmin qui permet d’administrer visuellement les bases de données contenues dans MySQL. Si vous souhaiter l’installer, je vous propose d’installer WAMP, tutoriel pour l’installation ici, qui vous permettra de faire bien plus que des bases de données ou XAMPP.
La capture ci-dessous présente l’interface de phpMyAdmin. Dans celle-ci, j’ai sélectionné ma base de données (rectangle rouge à gauche) nommée paysdata, les deux tables sur lesquelles vont se faire la jointure se nomment population et telephones_port (rectangles bleus) .
Présentation du contenu de population, celle-ci contient 4 colonnes, la première colonne (id) est celle sur laquelle portera la jointure.
Contenu de la table telephones_port, on constate que la colonne id possède les mêmes signes que dans la table population. La jointure se fera sur cette colonne, si la requête trouve le même id dans les deux tables (exemple CN pour la Chine), alors il retient la ligne dans le résultat final.
Passons à la pratique, dans l’onglet du haut (rectangle rouge) je sélectionne SQL pour pouvoir insérer ma requête.
Détail de la requête dans phpMyAdmin
SELECT population.id,population.pays,population.nb_pop,telephones_port.nb_portable FROM `population`,`telephones_port` WHERE population.id = telephones_port.id LIMIT 0,300
SELECT : j’indique les différentes colonnes des deux tables que je souhaite affichée dans le résultat final si une correspondance est trouvée entre mes id.
FROM : j’indique les tables sur lesquelles porte la jointure SQL.
WHERE : j’indique la condition, si l’id de la table population est égal à l’id de la table telephones_port alors la ligne contenant l’id s’affichera dans le résultat.
LIMIT : il s’agit d’indiquer le nombre de lignes affichées sur la première page du résultat, par défaut, 30 résultats sont affichés, si vous en avez plus il faudra naviguer entre les pages.
Le résultat visuel de la requête de jointure SQL dans phpMyAdmin, validez en cliquant sur exécuter :
Le résultat de la requête s’affiche avec le résumé de la requête, mais aussi le nombre de lignes sur lesquelles la jointure a fonctionné (212). Donc, nous retrouverons celles-ci dans le résultat en dessous. Dans ce résultat, on constate que nous avons bien les colonnes que nous avions demandées dans l’option SELECT de la requête. Maintenant, vous pouvez par exemple exporter le résultat.
ATTENTION : Si vous réalisez cette jointure en ligne de commande dans la console, n’oubliez pas de mettre le point-virgule pour lancer la requête.
6 Commentaires
Merci, votre vidéo et vos explications ont été très claires et très utiles. Merci beaucoup !
De rien, avec plaisir 😉
Merci pour les explication very Hepful
Merci 😉
Merci pour les explications. J’ai un petit soucis car mon phpmyadmin ne m’affiche pas le résultat de ma jointure mais m’affiche plutôt « MySQL returned an empty result set(i.e zéro rows).(query took 0.0027 sec) » que dois-je faire alors dans ce cas car j’ai belle et bien des informations dans ma base de données. Merci
Si vous obtenez le message « MySQL returned an empty result set » dans phpMyAdmin, cela signifie que la requête SQL s’est exécutée correctement, mais qu’aucune ligne ne correspond aux critères de votre requête. Voici quelques étapes que vous pouvez suivre pour résoudre ce problème :
1. **Vérifiez les données**: Assurez-vous que les données que vous attendez de récupérer à partir de la jointure existent réellement dans vos tables. Vérifiez si les ID que vous utilisez pour effectuer la jointure ont des correspondances dans vos tables.
2. **Requête SQL**: Assurez-vous que votre requête SQL est correcte et que les critères de jointure sont appropriés. Vous pouvez également exécuter chaque partie de la requête séparément pour voir si elles renvoient des résultats.
3. **Clauses WHERE**: Si vous utilisez une clause WHERE dans votre requête, vérifiez qu’elle ne filtre pas les données de manière à exclure toutes les lignes.
4. **Alias**: Assurez-vous que les alias de table utilisés dans votre requête correspondent aux noms de table réels dans votre base de données.
5. **Données réelles**: Assurez-vous que les données que vous essayez de récupérer ne sont pas vides ou nulles pour les lignes correspondantes.
6. **Index**: Vérifiez si les colonnes utilisées pour les jointures sont indexées. L’absence d’index peut entraîner des performances médiocres lors de la recherche de correspondances.
Si après avoir vérifié toutes ces étapes, vous continuez à obtenir un résultat vide, il se peut que les données dans vos tables ne correspondent pas aux critères de la jointure que vous avez spécifiés. Dans ce cas, il serait utile de consulter vos données directement dans la base de données pour comprendre pourquoi la jointure ne renvoie pas de résultats.