Что такое LATERAL JOIN и где он используется?
Уровень: Senior
Ответ
LATERAL JOIN (например, в PostgreSQL) позволяет при соединении использовать подзапрос, зависящий от данных каждой строки левой таблицы. Правая часть, обозначенная LATERAL, выполняется для каждой строки слева. Это похоже на CROSS APPLY в SQL Server. Такой прием нужен, когда для каждой записи нужно выполнить отдельный запрос, например, выбрать несколько последних транзакций конкретного клиента. Без LATERAL приходилось бы делать это либо в кореллированном подзапросе, либо объединять результат склеиванием – LATERAL делает эту задачу проще и выразительнее.