Запрос сохраняет все строки table1 и присоединяет каждую строку table2 с более ранней date_start. Одна строка слева может дать много строк результата.
SQL LEFT JOIN: все строки с более ранней датой
Запрос сохраняет все строки table1 и присоединяет каждую строку table2 с более ранней date_start. Одна строка слева может дать много строк результата.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
SELECT * FROM table1 AS t1 LEFT JOIN table2 AS t2 ON t1.date_start > t2.date_start
Ответ
Запрос сохраняет все строки table1 и присоединяет каждую строку table2 с более ранней date_start. Одна строка слева может дать много строк результата.
Если подходящей даты справа нет, колонки t2 заполняются NULL. Это не выбор ближайшей предыдущей даты: для него нужна дополнительная логика, например ранжирование или LATERAL-подзапрос в поддерживающей СУБД.
Обычное сравнение с NULL не даёт совпадения. Физический алгоритм по одному тексту SQL не определяется: проверьте план, объёмы и индексы. SELECT * также может вернуть одноимённые колонки из обеих таблиц.