SQL, comment faire une jointure sur 3 tables ?

Publié par mook

Comment faire une jointure entre 3 tables d'une base de données sous SQL ?

Pour faire une jointure sur plusieurs tables d'une base de données, il faut que les tables aient une colonne commune entre elles. Sans cela la requête ne sera pas exécutée et un message d'erreur sera retourné. La jointure s’effectue au niveau des critères de sélection, dans la clause WHERE. Pour faire une jointure sur plusieurs tables, sur 3 tables par exemple, la requête s'écrira :

SELECT *
FROM table_1, table_2, table_3
WHERE table_1.colonne_1 = table_2.colonne_1
AND table_1.colonne_1 = table_3.colonne_1
AND table_2.colonne_1 = table_3.colonne_1;

Exemple pratique

Nous avons 3 tables :

  • Table des salaries : identifiant du salarié et nom du salarié
  • Table des salaires : identifiant du salarié et montant du salaire
  • Table des emplois : identifiant du salarié et libellé du poste

On souhaite affiché un tableau avec :

  • L'identifiant du salarié
  • Le nom du salarié
  • Le montant de son salaire
  • Et le libellé de son emploi

La requête s'écrira :

SELECT id_salaries, nom_salaries, montant_salaire, libelle_emploi
FROM salaries, salaires, emplois
WHERE id_salaries = id_salaire
AND id_salaries = id_emploi
AND id_salaire = id_emploi
GROUP BY id_salaries, nom_salaries, montant_salaire, libelle_emploi;

10
Sur le même thème

SQL, comment mettre à jour des données dans une table ?

Comment ajouter un bouton Twitter sur son site ou son blog ?

SQL, comment afficher des résultats sans doublons ?

PHP, comment envoyer un mail au format texte ?

SQL, comment afficher les données d'une table ?

SQL, comment vider une table d'une base de données ?

SQL, comment supprimer une table d'une base de données ?

Ajouter des colonnes à une table existante en SQL

Créer une table sous SQL

Comment créer un flux RSS automatique avec PHP et mySQL ?

LES ARTICLES POPULAIRES
LES ARTICLES A DECOUVRIR