Bazy danych · Middle · Pytanie 31 z 75
Na co pozwala LEFT JOIN LATERAL?
SELECT u.name, o.*
FROM users u
LEFT JOIN LATERAL (
SELECT * FROM orders WHERE orders.user_id = u.id
ORDER BY created_at DESC LIMIT 3
) o ON true;- 1Na łączenie tabel obok siebie bez warunku
- 2Na łączenie tylko po zindeksowanych kolumnach
- ✓Poprawna odpowiedź: Na podzapytanie w
FROM, które odwołuje się do kolumn wcześniejszych tabel; tutaj 3 ostatnie zamówienia każdego użytkownika
Wyjaśnienie
To czytelny sposób na „top N w grupie”. Z indeksem na (user_id, created_at) każde wyszukiwanie jest tanie.