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

Ответить