WHERE превращает ваш LEFT JOIN в INNER JOIN. И никто вам об этом не скажет

LEFT JOIN считается одной из самых безопасных конструкций в SQL — пока один фильтр в WHERE тихо не превращает его в INNER JOIN . Ошибка коварная: запрос выглядит абсолютно нормальным, результаты приходят, база не ругается, а часть строк уже исчезла. В статье разбираем, почему это происходит, как NULL ломает ожидания и чем на самом деле отличаются условия в ON и WHERE .

https://habr.com/ru/companies/otus/articles/1036194/

#LEFT_JOIN #INNER_JOIN #SQL #PostgreSQL #NULL #WHERE #ON #антиджойн #оптимизация_запросов #базы_данных

WHERE превращает ваш LEFT JOIN в INNER JOIN. И никто вам об этом не скажет

Задача знакомая, очень знакомая. Нужна выгрузка: все клиенты и их заказы за апрель. Все — значит все, включая тех, кто за месяц так ничего и не купил. Отсюда LEFT JOIN , а не...

Хабр