Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Не понимаю left join ...  [new]
Volodya
Member

Откуда:
Сообщений: 450
Доброго времени суток!

declare @t table (id int)
insert @t values (3)
insert @t values (4)
insert @t values (7)

select * from @t t
		left join t_groups on t.id = t_groups.group_id
WHERE owner_id = 382232


Для owner_id = 382232 в таблице t_groups имеется только одна запись. Именно она и выводится в результате выполнения запроса. Не понимаю, почему не срабатывает left join в этом случае? ведь должно быть три записи.
29 ноя 12, 16:19    [13550736]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю left join ...  [new]
Glory
Member

Откуда:
Сообщений: 104760
Volodya
Не понимаю, почему не срабатывает left join в этом случае? ведь должно быть три записи.

left join срабатывает
А потом срабатывает ваш WHERE owner_id = 382232
29 ноя 12, 16:20    [13550750]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю left join ...  [new]
Гость333
Member

Откуда:
Сообщений: 3683
declare @t table (id int)
insert @t values (3)
insert @t values (4)
insert @t values (7)

select * from @t t
		left join t_groups on t.id = t_groups.group_id and owner_id = 382232
29 ноя 12, 16:21    [13550758]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю left join ...  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
Volodya
Доброго времени суток!

declare @t table (id int)
insert @t values (3)
insert @t values (4)
insert @t values (7)

select * from @t t
		left join t_groups on t.id = t_groups.group_id
WHERE owner_id = 382232


Для owner_id = 382232 в таблице t_groups имеется только одна запись. Именно она и выводится в результате выполнения запроса. Не понимаю, почему не срабатывает left join в этом случае? ведь должно быть три записи.

Потому что (NULL = 382232) даёт UNKNOWN, а в WHERE должно быть TRUE
29 ноя 12, 16:22    [13550767]     Ответить | Цитировать Сообщить модератору
 Re: Не понимаю left join ...  [new]
Volodya
Member

Откуда:
Сообщений: 450
Всем спасибо, особенно спасибо Гость333!
29 ноя 12, 16:25    [13550794]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить