LATERAL JOIN
PostgreSQL 🔴 SeniorDefinition
JOIN ou la sous-requete droite peut referencer des colonnes de la table gauche. Permet des sous-requetes correlees dans le FROM, comme un forEach SQL.
Analogie
Pour chaque client, ouvrir son dossier et y chercher ses 3 dernieres commandes.
Exemple de code
SELECT u.name, recent.title
FROM users u
LATERAL (
SELECT title FROM orders
WHERE user_id = u.id
ORDER BY created_at DESC
LIMIT 3
) recent;
Cas d'usage
Recuperer les N derniers elements par groupe sans window function complexe.