Hello, Alexandr!
You wrote to Alexander A. Venikov on Tue, 1 Aug 2006 12:01:29 +0700:
AAV>> Да, не рекомендуется, Тем не менее, результат неверный. Проверил
AAV>> только что. FB2.0 RC3
AK> а вот вы уверены, что эти запросы эквивалентны?
AK> Что-то мне подсказывает что это не так.
Обоснуй :) Декартово произведением с ограничением выборки на равенство ID не
должно зависеть от порядка следования таблиц в кляузе from (от перемены мест
сомножителей....) А left join в обоих случаях к T1 (в общем, это неважно,
выборка ведь ограничена условием T1.ID=T2.ID).
Без left join они выдают одно и то же:
select T1.ID, T2.ID from T2, T1
where T2.ID=T1.ID
1 1
2 2
Потом изменяем запрос:
select T1.ID, T2.ID, TJ.IDS
from T1, T2
left join TJ on T1.ID=TJ.ID
where T2.ID=T1.ID
1 1 2 (здесь должно быть 1)
2 2 2
И результат зависит от порядка таблиц во from. (T1, T1 vs T2, T1). То есть
left join возвращает неверный результат.
Удач
--
Alexander A. Venikov, Tobolsk, Russia
Real e-mail address is venix<angry_dog>tn<dot>tob<dot>ru