LATERAL JOIN
PostgreSQL 🔴 SeniorDéfinition
JOIN ou la sous-requête droite peut référencer des colonnes de la table gauche. Permet des sous-requêtes corrélées dans le FROM, comme un forEach SQL.
Analogie
Pour chaque client, ouvrir son dossier et y chercher ses 3 dernières 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
Récupérer les N derniers éléments par groupe sans window function complexe.