Почему следующие запросы возвращают разные наборы результатов?
select count(ml.link_type),mc.conv_string
from MSP_CONVERSIONS mc,MSP_LINKS ml
where ml.PROJ_ID = 4
and mc.STRING_TYPE_ID = 3
and mc.CONV_VALUE *= ml.link_type
group by mc.conv_string
select count(ml.link_type),mc.conv_string
from MSP_CONVERSIONS mc left outer join MSP_LINKS ml on mc.CONV_VALUE = ml.LINK_TYPE
where ml.PROJ_ID = 4
and mc.STRING_TYPE_ID = 3
group by mc.conv_string
Первый запрос возвращает:
3 FF
10790 FS
0 SF
117 СС
Второй запрос возвращает:
3 FF
10790 FS
117 СС
Оба запроса выполняются для базы данных SQL Server 2008 Standard. Я не могу понять, почему возвращаются два разных набора результатов? Я думал, что * = это сокращенный синтаксис для LEFT OUTER JOIN. Я так долго смотрю на это, может быть, я что-то упустил?
Спасибо ...