Module 1 : Comprendre les bases de données
1.1 — Pourquoi les bases de données ? Aperçu
Module 2 : Installation et découverte de PostgreSQL
2.1 — Installer PostgreSQL Aperçu
Module 3 : Le langage SQL — Les fondamentaux
3.1 — SELECT : lire des données Aperçu
Module 4 : Conception et création de tables
4.1 — Clés primaires et identifiants Aperçu
Module 5 : Requêtes SELECT avancées
5.1 — DISTINCT, CASE, COALESCE, NULLIF Aperçu
Module 6 : Jointures SQL
6.1 — INNER JOIN : le cœur des bases relationnelles Aperçu
Module 7 : Agrégation et regroupement avancés
7.1 — GROUP BY approfondi Aperçu
Module 8 : Sous-requêtes et CTE
8.1 — Sous-requêtes scalaires et de liste Aperçu
Module 9 : Fonctions SQL intégrées
9.1 — Fonctions de chaînes Aperçu
Module 10 : Indexation et performances
10.1 — Comprendre EXPLAIN ANALYZE Aperçu
Module 11 : Contraintes avancées et intégrité
11.1 — Domaines et types personnalisés Aperçu
Module 12 : Transactions et concurrence
12.1 — Transactions ACID Aperçu
Module 13 : Vues et vues matérialisées
13.1 — Vues simples et modifiables Aperçu
Module 14 : Procédures stockées et fonctions PL/pgSQL
14.1 — Premiers pas en PL/pgSQL Aperçu
Module 15 : Triggers et événements
15.1 — Créer un trigger simple Aperçu
Module 16 : Sécurité, rôles et permissions
16.1 — Rôles, utilisateurs et GRANT Aperçu
Module 17 : Sauvegarde, restauration et maintenance
17.1 — pg_dump et pg_restore Aperçu
Module 18 : Types de données avancés
18.1 — JSON et JSONB Aperçu
Module 19 : Recherche plein texte (Full-Text Search)
19.1 — tsvector et tsquery Aperçu
Module 20 : Projet final — Conception complète
20.1 — Analyse du besoin et cahier des charges Aperçu

Le reste de la formation est réservé aux inscrits.

S'inscrire gratuitement
Module 6 : Jointures SQL Aperçu gratuit

6.1 — INNER JOIN : le cœur des bases relationnelles

📋 Objectifs d'apprentissage

  • Comprendre le produit cartésien et la condition de jointure
  • Écrire des INNER JOIN simples et multiples
  • Utiliser les alias de table pour simplifier

La puissance des jointures

Une jointure combine les lignes de deux tables basées sur une condition. C'est le mécanisme qui donne toute sa puissance au modèle relationnel.

-- Sans jointure : deux requêtes, assemblage manuel
-- Avec jointure : UNE requête, résultat complet
SELECT c.nom AS client, co.date_commande, co.montant
FROM clients c
INNER JOIN commandes co ON c.id = co.client_id
WHERE co.montant > 100
ORDER BY co.date_commande DESC;
TypeRésultatQuand l'utiliser
INNER JOINLignes avec correspondance dans les deux tablesCas standard (90% des jointures)
LEFT JOINToutes les lignes de gauche + correspondances à droite (NULL si aucune)"Tous les clients, même sans commande"
RIGHT JOINInverse du LEFT (rare, préférer LEFT)Éviter, utiliser LEFT en inversant l'ordre
FULL OUTER JOINToutes les lignes des deux côtésComparaison de deux listes
CROSS JOINProduit cartésien (chaque ligne × chaque ligne)Générer des combinaisons
Ceci est un aperçu gratuit.
Voir la formation complète