|
|
su.dbms.sql- SU.DBMS.SQL ------------------------------------------------------------------ From : Dmitry Novikov 2:5020/400 06 Mar 2001 12:43:57 To : All Subject : Re: MySQL -------------------------------------------------------------------------------- Всем привет! Ilya Zvyagin пишет в сообщении <983859078.809268@gatekeeper.fct.ru> ... >Dmitry Kuzmenko wrote in message <3A9D3098.FD65757A@demo.ru>... > >>> select * from users where id in (select id from group) >>> Как реализовать подобное без такой конструкции? > >>не надо так писать. Это кривизна неимоверная. > >спорное утверждение. Особенно в свете нижеследующего. > >>надо писать так >>select u.* >>from users u, group g >>where u.id = g.id >> >>или >> >>select u.* >>from users u >>join group g >>on u.id = g.id > >Дима, ты как минимум забыл фразу DISTINCT. >Вот чтоб JOIN не делать и нужен IN или EXISTS. Лучше exists. Во всяком случае, на MS SQL 6.5 он работает надежнее. Я несколько раз наблюдал странные увеличения времени выполнения запроса с IN на разных данных, в то время как вариант с EXISTS работал всегда хорошо. С наилучшими пожеланиями, Дмитрий dim@rnivc.kis.ru --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /su.dbms.sql/6577809d8f01.html, оценка из 5, голосов 10
|