Форум: "Прочее";
Текущий архив: 2009.02.01;
Скачать: [xml.tar.bz2];
Вниззапрос Найти похожие ветки
← →
Вова (2008-12-09 17:05) [0]Подскажите, почему эти два запроса возвращают разные результаты (разница на 5 человек)
select famil, imja, otch from f2 where
(select count(distinct f1.id) from f1 where f2.id=f1.f2_id and f1.isu in (1011200,1021700))=2
и
select famil, imja, otch from f2
inner join f1 on f2.id=f1.f2_id and f1.isu in (1011200, 1021700)
group by famil, imja, otch having count(f2.id)=2
(таблица f2 - личные данные, f1 - данные о покупках (isu))
В чем разница построения этих запросов?
И еще - никак не определюсь, что лучше использовать - объединения или подзапросы? это непринципиально, или есть какие-то правило, что где лучше использовать?
← →
tesseract © (2008-12-09 17:27) [1]А посмотреть разницу по базе никак ? Сразу увидишь почему. join -ы проще читаються. Первый запрос с дистинкт запущен, зачем спрашиваеться ?
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2009.02.01;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.006 c