Aller au contenu
Jointures

INNER JOIN

INNER JOIN associe les lignes de deux tables qui se correspondent, en général une clé étrangère et la clé primaire qu'elle référence. Les lignes sans correspondance disparaissent du résultat.

  • jointure
  • relation
  • FK
  • JOIN
  • USING

Syntaxe

Modèle
SELECT a.col, b.colFROM table_a aINNER JOIN table_b b ON b.id = a.b_id;

Exemple

Exemple concret
SELECT s.name AS eleve, c.name AS classeFROM students sINNER JOIN classes c ON c.id = s.class_idORDER BY c.name, s.name;-- Jeu de données : école-- La 4ème A, qui n'a aucun élève, n'apparaît pas.-- Résultat attendu :-- Emma Blanc | 5ème A-- Alice Leroy | 6ème A-- Bob Petit | 6ème A-- Clara Moreau | 6ème B-- David Roux | 6ème B

À retenir

  1. JOIN seul signifie INNER JOIN. Quand les deux colonnes portent le même nom, USING (col) remplace ON a.col = b.col.
  2. On enchaîne autant de jointures que nécessaire : orders → order_items → products pour obtenir le détail d'une commande.
  3. Piège : joindre une table « un » à une table « plusieurs » multiplie les lignes. Un SUM calculé après une double jointure 1-N compte certaines valeurs plusieurs fois.
  4. Piège : oublier la condition ON (ou écrire FROM a, b sans WHERE) produit un produit cartésien de toutes les combinaisons.

Voir aussi