INNER JOIN - Jointure interne

Maîtriser la jointure la plus courante

35 min
INTERMEDIAIRE
Objectifs de cette leçon
  • Comprendre le fonctionnement de l'INNER JOIN
  • Joindre deux tables avec ON
  • Utiliser des alias de tables
  • Combiner plusieurs INNER JOIN

INNER JOIN - Jointure interne

Définition de l'INNER JOIN

L'INNER JOIN (ou simplement JOIN) est le type de jointure le plus courant. Il retourne uniquement les lignes pour lesquelles il existe une correspondance dans les deux tables jointes.

Si un employé n'a pas de département (dept_id NULL) ou si un dept_id n'existe pas dans la table DEPARTEMENTS, la ligne ne sera pas retournée.

Syntaxe

SELECT colonnes
FROM table1
INNER JOIN table2 ON table1.colonne = table2.colonne;

Le mot-clé INNER est optionnel. JOIN seul signifie INNER JOIN par défaut.

Exemple simple

SELECT e.nom, e.prenom, d.dept_nom
FROM EMPLOYES e
INNER JOIN DEPARTEMENTS d ON e.dept_id = d.dept_id;

Cette requête affiche chaque employé avec le nom de son département. Seuls les employés ayant un département valide sont affichés.

Alias de tables

Les alias (e pour EMPLOYES, d pour DEPARTEMENTS) rendent le code plus lisible et sont obligatoires quand une colonne existe dans les deux tables.

  • e.nom : colonne nom de la table EMPLOYES
  • d.dept_nom : colonne dept_nom de DEPARTEMENTS

INNER JOIN sur plusieurs tables

On peut enchaîner plusieurs INNER JOIN pour combiner 3 tables ou plus :

SELECT e.nom, d.dept_nom, l.ville
FROM EMPLOYES e
INNER JOIN DEPARTEMENTS d ON e.dept_id = d.dept_id
INNER JOIN LOCALISATIONS l ON d.localisation_id = l.localisation_id;

INNER JOIN avec WHERE

On peut ajouter des conditions de filtrage avec WHERE après les jointures :

SELECT e.nom, d.dept_nom
FROM EMPLOYES e
INNER JOIN DEPARTEMENTS d ON e.dept_id = d.dept_id
WHERE e.salaire > 10000;

Bonnes pratiques

  • ✅ Toujours utiliser des alias pour clarifier le code
  • ✅ Placer la condition de jointure dans ON, les filtres dans WHERE
  • ✅ Vérifier que les types de données des colonnes jointes sont compatibles
  • ⚠️ Attention aux performances avec de très grandes tables
Exemples de code
INNER JOIN simple : Employés et Départements

Joindre EMPLOYES et DEPARTEMENTS pour afficher nom et département

Résultat attendu : 10 employés avec leur nom de département

INNER JOIN avec filtrage

Employés du département IT seulement

Résultat attendu : Tous les employés du département IT

INNER JOIN avec 3 tables

Employés avec département et ville

Résultat attendu : 10 employés avec département et ville

INNER JOIN avec 4 tables

Employés avec département, ville et pays

Résultat attendu : 10 employés avec département, ville et pays

INNER JOIN avec conditions multiples

Employés bien payés avec leur localisation

Résultat attendu : Employés avec salaire > 10000 et leur ville
Exercices pratiques
Joindre EMPLOYES et DEPARTEMENTS
FACILE
Affichez nom, prenom et dept_nom de tous les employés

Employés à Seattle
MOYEN
Affichez les employés dont le département est à Seattle

Départements aux États-Unis
MOYEN
Listez les départements situés aux USA avec leur ville

Employés en Europe
DIFFICILE
Affichez nom, prenom des employés travaillant en Europe

Salaires par pays
DIFFICILE
Calculez le salaire moyen par pays
Accueil