A LEFT OUTER JOIN
может использоваться, когда вы хотите, чтобы все записи из одной таблицы, а также записи из другой таблицы, если таковые имеются.
Например, данная таблица User
и Address
, где Address
имеет FK к User
и не может быть 0 или больше адресов для каждого пользователя:
select *
from User u
left outer join Address a on u.UserID = a.UserID
Это позволит вам получить все User
записи, независимо от того, есть ли была соответствующая запись Address
или нет.
Если вы хотите, чтобы показать все пользователи, которые не имеют адреса, вы можете сделать это:
select *
from User u
left outer join Address a on u.UserID = a.UserID
where a.UserID is null
Возможный дубликат http://stackoverflow.com/questions/1101343/what-is-the-purpose-or-use-case-for-an-outer-join-in-sql –