Бази даних · Middle · Запитання 31 з 75
Що дозволяє 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;- 1З'єднувати таблиці поруч без умови
- 2З'єднувати лише за проіндексованими стовпцями
- ✓Правильна відповідь: Підзапит у
FROM, що може посилатися на стовпці попередніх таблиць; тут - 3 останні замовлення кожного користувача
Пояснення
Це охайний спосіб написати «топ N у кожній групі». З індексом на (user_id, created_at) кожен пошук дешевий.