Leksykon IT › Bazy danych › LATERAL join

LATERAL join

Bazy danych Svenska → Zaktualizowano: 2026-10-06

Funkcja SQL: podzapytanie w klauzuli FROM, które może odwoływać się do kolumn relacji po lewej. SELECT * FROM users u, LATERAL (SELECT * FROM posts WHERE user_id = u.id LIMIT 3) p. Wzorzec „top-N na grupę”.

Standard SQL od 1999, w PostgreSQL od wersji 9.3 (2013), w MySQL od 8.0.14, w SQL Server pod nazwą CROSS APPLY / OUTER APPLY. Klasyczne zastosowania: „3 ostatnie wpisy każdego użytkownika”, „5 największych zamówień klienta”. Bez LATERAL zostają funkcje okna (więcej SQL-a, ale często szybsze) albo podzapytanie skorelowane na wiersz (bardzo wolne). Planista PostgreSQL potrafi czasem zoptymalizować LATERAL do zwykłego joina. Funkcja dla zaawansowanych – jeśli jej jeszcze nie używałeś, elegancko rozwiąże następny problem „top-N na grupę”.

← Wróć do leksykonu