Вопросы к Поиску с Алисой
Разница между JOIN и WHERE при работе с LEFT OUTER JOIN заключается в том, как обрабатываются условия. sky.pro postgrespro.ru
Если поместить условие в секцию JOIN, то в результат запроса включатся все строки из одной таблицы и соответствующие строки из другой, при этом сохранится логика OUTER JOIN. sky.pro Условия, расположенные в секции JOIN, облегчают понимание логики соединений и упрощают документацию, что особенно ценно для сложных запросов. sky.pro
Если поместить условие в секцию WHERE, после оператора OUTER JOIN, то запрос будет действовать как INNER JOIN, исключая строки из основной таблицы, которые не удовлетворяют критерию фильтрации. sky.pro
Кроме того, фильтрация по значениям NULL в секции WHERE отличается от фильтрации при соединении: в разделе WHERE строки с NULL будут исключены из результатов, в отличие от JOIN, где NULL принимается во внимание при формировании результатов запроса. sky.pro