Re: using EXISTS instead of IN: how?

Поиск
Список
Период
Сортировка
От Felipe Schnack
Тема Re: using EXISTS instead of IN: how?
Дата
Msg-id 20030722133754.6dc66e16.felipes@ritterdosreis.br
обсуждение исходный текст
Ответ на Re: using EXISTS instead of IN: how?  (Csaba Nagy <nagy@ecircle-ag.com>)
Ответы Re: using EXISTS instead of IN: how?  (Mike Mascari <mascarm@mascari.com>)
Список pgsql-general
  Why using IN is not advisable???
On 22 Jul 2003 18:36:10 +0200
Csaba Nagy <nagy@ecircle-ag.com> wrote:

> You should use something like:
>
>      SELECT
>          name
>      FROM
>          people p
>      WHERE
>          exists (
>              SELECT
>                  1
>              FROM
>                  states
>              WHERE
>                  name = p.state
>          )
>       AND state ~* 'r';
>
> On Tue, 2003-07-22 at 18:28, Rory Campbell-Lange wrote:
> > I have been informed that at present (postgres 7.3.2) using IN is not
> > advised, and I should  replace it with EXISTS. I can't seem to get it to
> > work.
> >
> > I've tried replacing (example):
> >
> >     SELECT
> >         name
> >     FROM
> >         people
> >     WHERE
> >         state IN (
> >             SELECT
> >                 id
> >             FROM
> >                 states
> >             WHERE
> >                 name ~* 'r'
> >         );
> >
> > with
> >
> >     SELECT
> >         name
> >     FROM
> >         people
> >     WHERE
> >         exists (
> >             SELECT
> >                 1
> >             FROM
> >                 states
> >             WHERE
> >                 name ~* 'r'
> >         );
> >
> > However the second example simply finds all records in people.
> >
> > Thanks for any help,
> > Rory
> >
> > --
> > Rory Campbell-Lange
> > <rory@campbell-lange.net>
> > <www.campbell-lange.net>
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 9: the planner will ignore your desire to choose an index scan if your
> >       joining column's datatypes do not match
> >
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: the planner will ignore your desire to choose an index scan if your
>       joining column's datatypes do not match


--

 /~\ The ASCII        Felipe Schnack (felipes@ritterdosreis.br)
 \ / Ribbon Campaign  Analista de Sistemas
  X  Against HTML     Cel.: 51-91287530
 / \ Email!           Linux Counter #281893

Centro Universitário Ritter dos Reis
http://www.ritterdosreis.br
ritter@ritterdosreis.br
Fone: 51-32303341

В списке pgsql-general по дате отправления:

Предыдущее
От: Mike Mascari
Дата:
Сообщение: Re: using EXISTS instead of IN: how?
Следующее
От: Csaba Nagy
Дата:
Сообщение: Re: using EXISTS instead of IN: how?