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